0

このメソッドはプロジェクトで使用され、プロジェクトのすべてのレイアウトをリストに表示することになっています。それらの1つをクリックするとボタンが表示され、ボタンの1つをクリックするとすべての描画可能ファイルが表示されます。 resそして私があなたの助けを必要とする部分:あなたがそれらのドローアブルの1つにクリックするとき、それはあなたが選択したボタンの新しい背景(あなたが好きなドローアブル)であなたが選択したレイアウトを示さなければなりません

public void myclass{
        Class<drawable> cls = R.drawable.class;
        fieldlist = cls.getDeclaredFields();
        setContentView(layoutIds[position]);
        allButtonsInLayout = getViewsFromViewGroup(findViewById(android.R.id.content), Button.class);
        //allButtonsInLayout = getViewsFromViewGroup(findViewById(android.R.id.content), Button.class);
        //String tabname=allButtonsInLayout.get(position).getResources().getResourceEntryName(position);
        Toast.makeText(this, "" + allButtonsInLayout.size(), Toast.LENGTH_SHORT).show();
        int size=allButtonsInLayout.size();

        String[] tab_s = new String [size];
            cls = R.drawable.class;
        fieldlist = cls.getDeclaredFields();


        for (java.lang.reflect.Field fld : fieldlist) {
            int i=0;
            for(    i=0;i<allButtonsInLayout.size();i++){

                try {
                                        setContentView(R.layout.listallbuttons);
                    final ListView listView1 = (ListView) findViewById(R.id.listViewallbuttons);
                    drawableId = fld .getInt(null);
                    String s = fld.getName();
                    Log.v("tagllll", "msg" + s);
                                     if((k<=i)) {

                        tab_s[k++]=s;
                    }
                    else{
                        size++;

                        String[]temp=new String[size];

                        for (int f=0;f<tab_s.length;f++){
                            temp[f]=tab_s[f];

                        }
                        tab_s=temp;

                        tab_s[k++]=s;

                    }

            for (int k1=0;k1<tab_s.length;k1++){
                     //int j=allButtonsInLayout.size();

                      if (k1%allButtonsInLayout.size()!=0){
                      tab_s[k1]="null";


                      }

                  }
                     ArrayList<String> wordList = convertStringArrayToArraylist(tab_s);
                     int jk=0;
                    while ( jk<size){
                     wordList.remove("null");
                     jk++;
                     }

                    drawableId--;
                    allButtonsInLayout.get(i).setBackgroundResource(drawableId);
                    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                            android.R.layout.simple_list_item_1, android.R.id.text1,wordList);

                    listView1.setAdapter(adapter);

                    listView1.setOnItemClickListener(new OnItemClickListener(){

                    @Override
                        public void onItemClick(AdapterView<?> arg0, View arg1,
                                int arg2, long arg3) {
                                     **that's the part where i am lost i need to show the chosen layout with the clicked button with a new background(the one i choosed**

                                  }

                    });

                                  }
                catch(Exception e){

                    e.getMessage();

                }


            }


        }


}
4

1 に答える 1

0

変数の位置を最終的にするだけで済みました

listView1.setOnItemClickListener(新しいOnItemClickListener(){

                        @Override
                            public void onItemClick(AdapterView<?> arg0, View arg1,
                                    int arg2, long arg3) {

    **setContentView(layoutid[position]**

                                      }

                        });
于 2013-02-26T09:11:06.663 に答える