如何在Android中更改ListView onClick中项目的样式



我为具有自定义视图的列表视图创建了一个自定义适配器。

现在我想在按下按钮时更改listview项目的背景(项目自定义视图中布局的bg颜色)。

这可能吗?是否可以同时更改所有列表视图项,或者我必须逐个更改?

试试这样的

ListView mView;
...
int c = mView.getChildCount()
for(int i = 0; i < c; i++){
   View v = mView.getChildAt(i);
   v.setBackgroundColor(color);
}

据我所知,没有办法为所有子视图设置颜色。如果是这样的话,在后台的所有视图中仍然会有迭代。

如果您已经使用"customview"扩展了"listitems",那么只需在自定义适配器中绑定customwiew的元素(例如:按钮),并为它们设置onclick侦听器。

您可以参考以下内容:在listview中保留元素的状态';s每行

在我的自定义适配器中,我绑定了自定义视图的1个TextView和2个Buttons,然后实现了点击侦听器。

我希望它会有所帮助。

除了迭代所有子项之外,您还可以在绑定器中更改颜色,并强制ListView重新绑定项(通过适配器中的数据更改方法)。这样,就不会戳入ListView的视图层次结构,这通常被认为是非常糟糕的做法。

最新更新