我创建了一个自定义适配器具有自定义视图列表视图。现在如何在ListView onClick中更改Android项目的样式?
我想改变列表视图项的背景(布局的背景色中的项目的自定义视图),因为我按下一个按钮。
它甚至有可能?是否可以一次更改所有的listview项目,或者我必须逐个更改?
我创建了一个自定义适配器具有自定义视图列表视图。现在如何在ListView onClick中更改Android项目的样式?
我想改变列表视图项的背景(布局的背景色中的项目的自定义视图),因为我按下一个按钮。
它甚至有可能?是否可以一次更改所有的listview项目,或者我必须逐个更改?
尝试这样的事情
ListView mView;
...
int c = mView.getChildCount()
for(int i = 0; i < c; i++){
View v = mView.getChildAt(i);
v.setBackgroundColor(color);
}
据我所知是没有办法来为所有子视图的颜色。如果可以的话,仍然会在后台对所有视图进行迭代。
是的。我也在考虑这个问题。我想这是唯一的选择。 –
如果你已经使用“customview”然后就绑定在自定义适配器的customview的元素(如:按钮),并设置的onclick听众为他们夸大了“listItems中”。
你可以参考这个:preserve state of elements inside listview's each row
在我的自定义适配器,我已经绑定TextView的1和2个按钮我的自定义视图,然后点击监听器来实现。
我希望这将是有益的。
或者以遍历所有的孩子,你可以在粘合剂中的颜色变化,并迫使ListView控件(通过适配器的数据变化的方法)来重新绑定物品。这样,你不会在ListView的视图层次结构中插入内容,这通常被认为是非常糟糕的做法。
你能举个例子吗? –
访问线程http://stackoverflow.com/questions/12107440/onlistviewitemclick-view-argument-refer-to-multiple-listitems/12107917#12107917 –
正如我所说。我没有点击该项目。我点击一个按钮。因此,我没有收到“视图”实例的项目。 –