【问题标题】:wan to highlight particular positions( which ll have to be fetched from the database) in the list viewwan 在列表视图中突出显示特定位置(必须从数据库中获取)
【发布时间】:2013-03-14 15:34:59
【问题描述】:
   List<Integer> values;
   String[] mListContent={"Sunday", "Monday", "Tuesday", "Wedneday", "Thursday", "Friday", "Saturday"};
   Intent myIntent = getIntent();
   iid = myIntent.getExtras().getLong("curr_id");
   values = datasource.getDays(iid);
   ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.simple_selectable_list_item, mListContent); 
   setListAdapter(adapter);
   ListView listView = getListView();
   listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
   for(ii=0; ii<values.size(); ii++)
   {
      listView.setItemChecked(values.get(ii),true);
      Log.i(" values: " + values.get(ii)," ");
   }

我有一个名为 textcolorselector.xml 的文件用于列表,它是

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="#000" />
<item android:state_checked="true" android:color="#000" />
<item android:state_active="true" android:color="#000" />
<item android:state_selected="true" android:color="#000" />
<item android:color="#888" />   
</selector>

假设我的列表中有 7 个默认行,并且只想突出显示某些位置

数据库中的值被完美地检索,在数据库中我只保存了列表的位置值,即 0,1,...6 分别代表星期日,星期一,...星期六, 问题是提取“值”列表的值没有按设置更改。

【问题讨论】:

  • 让你的问题更清楚。
  • 请再次检查我的问题。
  • 为您的列表视图创建一个自定义适配器,并在 getView 中执行您想要的操作。
  • 我应该在 getview() 中使用什么来获得我的结果?提前致谢
  • 我也想将值更改为选中和未选中。如果我使用 adpater,这可能吗??(我最初使用数组适配器来自定义 lit 的颜色,但跳过了我想直接处理选中和未选中的项目)

标签: android listview


【解决方案1】:

您设置选择器的事实并不意味着它将用于“检查”项目。更重要的是 - 选择器与选中状态无关。

您需要做的是向ArrayAdapter 提供您自己的视图,该视图将实现Checkable 状态并为其提供自己的可绘制对象。

【讨论】:

  • 它是可检查的,我尝试删除一些项目!我现在该怎么办??创建一个适配器??我应该在里面使用什么来得到我的结果?提前致谢
猜你喜欢
  • 2016-01-25
  • 1970-01-01
  • 2018-12-04
  • 2011-10-25
  • 2014-09-14
  • 1970-01-01
  • 1970-01-01
  • 2012-06-10
  • 2020-02-11
相关资源
最近更新 更多