2

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

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

甚至可能吗?是否可以一次更改所有列表视图项目,或者我必须一一更改?

4

3 回答 3

0

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

于 2012-08-24T16:19:24.567 回答
0

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

你可以参考这个:在listview的每一行中保留元素的状态

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

我希望它会有所帮助。

于 2012-08-24T16:06:08.210 回答
0

尝试这样的事情

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

据我所知,没有办法为所有子视图设置颜色。如果可以的话,背景中的所有视图仍然会迭代。

于 2012-08-24T11:02:25.410 回答