Button 更改按钮的背景

Button 更改按钮的背景,button,configuration,Button,Configuration,这个方法在一个项目中使用,它应该在一个列表中显示项目的所有布局,当你点击其中一个按钮时,它会显示它的按钮,当你点击其中一个按钮时,它会显示所有可绘制的图片,然后显示我需要帮助的部分:当你点击其中一个可绘制的图片时,它会显示你需要的布局为您选择的按钮选择新背景(您点击的可绘制图片) public void myclass{ Class<drawable> cls = R.drawable.class; fieldlist = cls.getDeclare

这个方法在一个项目中使用,它应该在一个列表中显示项目的所有布局,当你点击其中一个按钮时,它会显示它的按钮,当你点击其中一个按钮时,它会显示所有可绘制的图片,然后显示我需要帮助的部分:当你点击其中一个可绘制的图片时,它会显示你需要的布局为您选择的按钮选择新背景(您点击的可绘制图片)

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();

                }


            }


        }


}
public-void-myclass{
类别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);
//字符串tabname=allButtonsInLayout.get(位置).getResources().getResourceEntryName(位置);
Toast.makeText(这个““+allButtonsInLayout.size(),Toast.LENGTH\u SHORT.show();
int size=allButtonsInLayout.size();
String[]tab_s=新字符串[大小];
cls=R.drawable.class;
fieldlist=cls.getDeclaredFields();
for(java.lang.reflect.Field fld:fieldlist){
int i=0;

对于(i=0;i我只需要确定变量的最终位置

listView1.setOnItemClickListener(新的OnItemClickListener(){

@覆盖
公共链接(AdapterView arg0、视图arg1、,
整数arg2,长arg3){
**setContentView(布局ID[位置]**
}
});
                        @Override
                            public void onItemClick(AdapterView<?> arg0, View arg1,
                                    int arg2, long arg3) {

    **setContentView(layoutid[position]**

                                      }

                        });