当前位置: 代码迷 >> Android >> Android listview的item选中改变背景的有关问题
  详细解决方案

Android listview的item选中改变背景的有关问题

热度:25   发布时间:2016-05-01 10:46:57.0
Android listview的item选中改变背景的问题
业务是这样的
item默认的背景色为白
1. 选择一个item ,背景色变黑
2. 再选择这个item  背景色变白
3. 有一个item已经被选择了,背景是黑色的。  选择另外一个item 这个item背景色变黑,而之前那个item背景色变白


求解决啊~~我有点懵了
Android listview 背景色

------解决方案--------------------
easy

public 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{
  相关解决方案