gpt4 book ai didi

android - 如何获取复杂 ListView 行 View 中的 View ?

转载 作者:行者123 更新时间:2023-11-29 18:15:49 25 4
gpt4 key购买 nike

我有一个 ListView,它已使用适配器填充了包含数据的行。行布局为“RelativeLayout”类型,包含各种 View 对象,其中一个id为“@+id/bar_fill”。

我有一个循环遍历 ListView 的所有子项,我想“获取”我上面提到的 View 项。

我使用的代码是:

ListView list = getListView();
int count = list.getCount();
for (int i = 0; i < count; i++)
{
RelativeLayout row = (RelativeLayout) list.getChildAt(i);
View bar = row.findViewById(R.id.bar_fill);
}

但是当它到达最后一行时它崩溃了。当我把它注释掉并做了

System.out.println(findViewById(R.id.bar_fill));

它返回空值。

我做错了什么?

最佳答案

在自定义适配器中覆盖此函数。

public View getView(int position, View convertView, ViewGroup parent);
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater) c
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(id, null);
}

现在,如果您想要 ListView 行项目中的某些 TextView ,那么可以这样做:

TextView t1 = (TextView) v.findViewById(com.pis.prototype.R.id.TextView01);

t1 现在是您需要的 View ...:P

关于android - 如何获取复杂 ListView 行 View 中的 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8177995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com