如何为列表视图的选定项指定颜色?我阅读了《创建导航抽屉》并下载了示例。他们使用
android:background=“?android:attr/activatedBackgroundIndicator”
。当我选择一个项目时,它的颜色一直是蓝色。当我选择之前选择的项目时,其颜色会发生轻微变化。
我需要的最小API是10。
您可以通过两种方式做到这一点:
1)通过为ListView
创建一个项目并将其传递给适配器
来使用check Box
,check Box
将自动处理检查和取消检查操作。
2) 使用适配器
创建一个整数
值来保持所选项目的位置,并在方法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;
}
然后从你的活动
或片段
设置位置如下
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
adapter.setSelectedITem(position);
adapter.notifyDataSetChanged();
}
});
我希望有帮助
null null
我试图在片段中创建自定义listView,我搜索了其他问题,但找不到任何东西。我的列表适配器是这样的 我的片段类是这样的: } 问题是这部分:CustomList adapter=新CustomList(tab1.this,string,imageId);构造函数(public CustomList(活动上下文,字符串[]web,整数[]imageId))只接受活动 我怎样才能解决这个问题?
“我的列表视图”项包含一个“删除”按钮,我在适配器中将其设置为从数据库中删除该项。完成后,如何刷新包含listView的片段以删除该项?相关代码如下: 删除适配器中的项功能: listview在我的片段中是这样设置的: 谢谢 更新: 现在我已经将子项目上的OnClickListener从适配器传递到片段ListView OnItemClickListener,如下所示: 更新适配器 更新片段 但现
我正在将自定义ListFragment与自定义ArrayAdapter一起使用。 在中,我根据一个条件设置。 我还为该片段执行。因此,只有当arrayadapter为null时,我才在片段中创建arrayadapter的新实例。 一切正常。但是,当我旋转屏幕时,所选项目的颜色会丢失。我的意思是不应用中指定的颜色。 只有当我允许在循环时(通过移除空检查)再次创建适配器时,它才起作用。 我想到在中重用
在关于同一主题的其他帖子之后,我实现了数组适配器的getView方法。但不幸的是,由于突出显示的行,应用程序停止了,因为如果我将其注释掉,应用程序不会崩溃。请帮助出了什么问题:- Logcat公司- 04-13 04:48:38.246 2870-2870/com。实例赛拉夫。附录3 E/AndroidRuntime﹕ 致命异常:主进程:com。实例赛拉夫。附录3,PID:2870 java。la
我正在使用带有的,我想知道如何最有效地更改TabLayout中选定选项卡的图标的颜色。 谷歌的Youtube应用程序是如何实现这一点的完美参考。在主页上,有四个深灰色图标。选择特定选项卡后,选项卡图标变为白色。 没有任何第三方库,我怎样才能达到同样的效果? 一个可能的解决方案显然是用选择器。但是在这种情况下,我必须找到图标的白色和灰色版本,然后在选项卡被选中或取消选中时切换图标。我想知道是否有一个