【发布时间】:2014-10-15 07:51:32
【问题描述】:
我想创建一个带有截止日期的笔记列表。如果到了截止日期,背景颜色应该会改变。
我尝试管理 ArrayAdapter 中的项目并将适配器绑定到 listview 活动的 listview。
我找到了 getChildCount() 和 getHeaderViewsCount() 方法,但都返回 0。
这是我试过的代码:
ListView lv = (ListView) findViewById(android.R.id.list);
lv.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mStringList));
for (int i = lv.getFirstVisiblePosition(); i < lv.getChildCount(); i++) {
View v = lv.getChildAt(i);
Log.d("MyActivity", String.valueOf(v.getId()));
v.setBackgroundColor(Color.GREEN);
}
由于 getFirstVisiblePosition 返回 0 并且 getChildCount 返回 0,因此永远不会进入循环。
这些是访问列表视图子元素的正确方法吗?
【问题讨论】:
-
使用自定义
listview适配器并在getView()方法中应用您的条件 -
你必须为列表视图实现自定义适配器
标签: android listview android-listview