如何为ListView
的所选项目指定颜色?我看了
Creating a Navigation Drawer并下载了样本。他们使用android:background="?android:attr/activatedBackgroundIndicator"
。当我选择一个项目时,其颜色保持蓝色。当我选择以前选择的项目时,其颜色会略有变化。
分钟。我需要的API是10。
答案 0 :(得分:0)
您可以通过两种方式实现:
1)使用checkBox
为ListView
创建项目并通过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;
}
并从activity
或fragment
设置以下位置
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
adapter.setSelectedITem(position);
adapter.notifyDataSetChanged();
}
});
我希望它有所帮助