【问题标题】:how to modify items in an android listview at any moment?如何随时修改 android listview 中的项目?
【发布时间】:2013-12-16 12:09:40
【问题描述】:

我的应用有一个列表视图和 2 个按钮,发送和删除。我需要选择列表视图中的一项,然后根据按下的下一个按钮,该项目将更改其背景和文本颜色。

我已经使用 OnItemClickListener 完成了它,更改了按下的项目的颜色并保存其视图以供以后更改。但它不起作用,因为当我滚动列表视图时,有更多视图改变了颜色!

问题是:如何保存 ListView 的视图以便随时更改?

谢谢,我已经阅读了Programmatically select item ListView in Android 和其他问题,但它们并没有 100% 帮助我

P.D:对不起我的英语

【问题讨论】:

标签: android listview android-listview


【解决方案1】:

您必须保存一行的状态才能实现这一点,您应该获取一个布尔变量列表并在开始时将它们设置为 false,如下所示(在您的适配器的构造函数中)

private ArrayList<Boolean> itemChecked = new ArrayList<Boolean>();
for (int i = 0; i < this.getCount(); i++) {
    itemChecked.add(i, false); // initializes all items value with false
}

然后,当您单击项目时,将相应的项目设置为 true。 现在检查这个列表是否为真并更改它发现为真的行的颜色。这样它不会改变列表中其他项目的颜色。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2014-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-13
  • 2017-02-20
相关资源
最近更新 更多