最后选择的ListView项的颜色

时间:2014-02-24 18:10:52

标签: android listview colors android-custom-view

如何为ListView的所选项目指定颜色?我看了 Creating a Navigation Drawer并下载了样本。他们使用android:background="?android:attr/activatedBackgroundIndicator"。当我选择一个项目时,其颜色保持蓝色。当我选择以前选择的项目时,其颜色会略有变化。

分钟。我需要的API是10。

1 个答案:

答案 0 :(得分:0)

您可以通过两种方式实现:

1)使用checkBoxListView创建项目并通过adapter传递,checkBox将处理检查并自动取消选中操作。

2)使用adapter创建integer值来保存所选项目的位置,并在方法getView()中检查它它有不同的颜色

<强> adapter.class:

    private static int selectedItemPosition = -1;

    public static void setSelectedITem(int i){
       selectedItemPosition = i;
    }

    public static void getSelectedITem(){
       return i;
    }

    @Override
public View getView(int position, View convertView, ViewGroup parent) {
    if(position == selectedItemPosition){
                //Highlight your item or ViewHolder
                textView.setBackgroungColor(R.color.gray);
        //Complete the actions
    return view;
}

并从activityfragment设置以下位置

listView.setOnItemClickListener(new OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
       adapter.setSelectedITem(position);
       adapter.notifyDataSetChanged();   
        }
    });

我希望它有所帮助