我有一个 Android ListView,我想在其中更改一些选定的行属性,例如背景颜色、 ImageView 等。
我知道如何更改onItemClick(AdapterView<?> parent, View view, int position, long id)
通过获取 View 对象。
但现在的问题是我想在监听器之外修改此行属性。我进行了很多搜索,但未能找到解决方案。
我也在这里阅读了 ListView 和 BaseAdapter 的文档:
- http://developer.android.com/reference/android/widget/ListView.html
- http://developer.android.com/reference/android/widget/BaseAdapter.html
我怎样才能完成这个任务?
最佳答案
我希望您使用自定义适配器,如果是这样,请按照后续步骤操作。
如果当前 View 满足您的条件,请在 getView() 方法中设置背景(或您想要的任何更改)。否则将背景重置为默认值。例如我想以不同的颜色显示交替的行,那么我会这样做
public View getView(int position, View view, ViewGroup parent) {
if (view == null) {
LayoutInflater inflater = getLayoutInflater();
view = inflater.inflate(R.layout.row, parent, false);
} else {}
if (position % 2 == 0) {
view.setBackgroundResource(R.color.gray);
} else {
view.setBackgroundResource(R.color.white);
}
return view;
}
关于java - 在监听器外部更改 Android ListView 选定行属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16833694/