我的应用有一个列表视图和2个按钮,发送和删除。我需要选择列表视图中的一个项目,然后,根据按下的下一个按钮,该项目将更改其背景和文本颜色。
我使用OnItemClickListener完成了它,更改了所按项目的颜色并保存其视图以便稍后更改。但它不起作用,因为当我滚动列表视图时,有更多的视图颜色已更改!
问题是:如何保存ListView视图以便随时更改它?
谢谢,我已阅读Programmatically select item ListView in Android和其他问题,但他们没有帮我100%
P.D:对不起我的英文
答案 0 :(得分:0)
你必须保存一行的状态来实现它,你应该采用一个布尔变量列表,并在开始时设置为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。 现在检查此列表是否为true,并更改找到true的行的颜色。这样就不会更改列表中其他项的颜色。