gpt4 book ai didi

java - 在for循环中用不同的身份膨胀 View ?

转载 作者:行者123 更新时间:2023-12-01 23:54:20 24 4
gpt4 key购买 nike

我在 for 循环中膨胀 View 中的布局,然后在数组中添加 View ,如下所示:

ArrayList<View> views = new ArrayList();
for (Result datalist : arraylist){

View view = layoutinflater.inflate(R.layout.viewlayout, null);
/*View modification code here....
.............
.............
.............*/

views.add(view);
};

问题是,当我从 arraylist 获取 View 时,即使通过像views.get(i)这样的索引,它也只返回最后一个 View 。我希望所有 View 都能够在所有 View 上工作。

这是我从数组获取 View 的代码。

 for (View v : views) {
// if (insertPoint != null) {
// if (views != null) {
// if (rel_leftright != null) {
Rect scrollBounds = new Rect();
insertPoint.getHitRect(scrollBounds);
if (v.getLocalVisibleRect(scrollBounds)) {
rel_leftright.setVisibility(GONE);
} else {
rel_leftright.setVisibility(VISIBLE);
}
// }
// }
// }
}

但是此代码返回仅适用于数组中的最后一个 View ,我需要对所有 View 执行操作。

请帮助我摆脱困境。谢谢!!!

最佳答案

首先我错过了一些东西: - 为什么在创建所有 View 之前尝试使用 View (/*此处查看修改代码...)?首先在循环中创建它们并迭代 View 数组,然后调用修改代码。- 你确定不想通过 parent 吗?

View view = layoutinflater.inflate(R.layout.viewlayout, null); 

即使您不想加入,您也可以调用:

View view = layoutinflater.inflate(R.layout.viewlayout, parent, false);

一般来说,不可能用值填充 ArrayList 却找不到它们...请记录数据列表的大小,然后记录 View 的大小。最有可能应该匹配。

还请注意,通过以下行:/*在此处查看修改代码...并非所有 View 都会创建。您首先需要完成循环。

关于java - 在for循环中用不同的身份膨胀 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58210089/

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