解决方案 »

  1.   

    在每一项的选择事件item...
    里面进行设置就行了
      

  2.   

    easypublic class ListBackground extends Activity {    private List<String> dataList = new ArrayList<String>();
        
        private ListView lv;
        
        private int clickPosition = -1;
        
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_list_background);
            for (char tempChar = 'a' ; tempChar <= 'z'; tempChar++){
                dataList.add(String.valueOf(tempChar));
            }
            lv = (ListView)findViewById(R.id.listView1);
            final MyAdapter ma = new MyAdapter();
            lv.setAdapter(ma);
            lv.setOnItemClickListener(new OnItemClickListener() {            @Override
                public void onItemClick(AdapterView<?> parent, View view,
                        int position, long id) {
                    if(position != clickPosition){
                        clickPosition = position;
                    }
                    else{
                        clickPosition = -1;
                    }
                    ma.notifyDataSetChanged();
                }
            });
        }    @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            getMenuInflater().inflate(R.menu.activity_list_background, menu);
            return true;
        }
        
        private class MyAdapter extends BaseAdapter{        @Override
            public int getCount() {
                return dataList.size();
            }        @Override
            public Object getItem(int position) {
                return dataList.get(position);
            }        @Override
            public long getItemId(int position) {
                return position;
            }        @Override
            public View getView(int position, View convertView, ViewGroup parent) {
                TextView tv = new TextView(ListBackground.this);
                tv.setText(dataList.get(position));
                tv.setBackgroundColor(Color.WHITE);
                if(position == clickPosition){
                    tv.setBackgroundColor(Color.BLACK);
                }
                return tv;
            }
            
        }
    }
      

  3.   

    刚开始在item中使用findViewById找到其中的控件改变控件的显示状态,结果发现改变了多个item,纠结了半天,原来要使用position可以解决,多谢多谢!
      

  4.   

    <?xml version="1.0" encoding="utf-8"?>
    <selector
      xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_pressed="true" android:drawable="@color/123456"></item>
        <item android:state_selected="true" android:drawable="@color/234567"></item>
        <item android:drawable="@android:color/345678"></item>
    </selector>
    把颜色改成你想要的就行了吧