gpt4 book ai didi

java - 如何使用 Parcelable 从 arraylist 索引传递元素?

转载 作者:行者123 更新时间:2023-12-01 19:56:17 24 4
gpt4 key购买 nike

在匹配中,我需要将数组索引的所有元素传递给另一个 Activity 。这是我所拥有的...

    Intent LocationReview = new Intent(v.getContext(), ReviewActivity.class);
// iterate through array
for (int i = 0; i < locationReview.size(); i++) {

int locationID = locationReview.get(i).id;
int currentID = Integer.parseInt(tvId.getText().toString());

// compare id no. at index i of array
if ((locationReview.get(i).id == Integer.parseInt(tvId.getText().toString()))) {

// if match set putExtra array to locationReview.get(i)
**LocationReview.putParcelableArrayListExtra("locationReview", locationReview.get(i));**
itemView.getContext().startActivity(LocationReview);
} else {
Log.e("VerticalAdapter", "no matcon on locationReview");
}
}

if 语句比较 locationReview 数组中的 id 元素。如果该元素与 TextView 中的字符串匹配,我需要 i 的数组索引及其所有元素,添加为 pracelable 数组,并作为 Extra 添加到我的 Intent 中。

最佳答案

我会将解决方案分为几个步骤:

第 1 步。确保您的 ArrayList 模型类实现 Parcelable 接口(interface)。

步骤 2. 迭代 locationReview 数组的所有元素,找出其索引符合您的要求。您可以在类中定义另一个“过滤的”ArrayList 对象,并用您过滤的项目填充它 (locationReview.get(i).id == Integer.parseInt(tvId.getText().toString())) 条件。

ArrayList<Object> filteredlocationReview = new ArrayList<>();
for (int i = 0; i < locationReview.size(); i++) {

int locationID = locationReview.get(i).id;
int currentID = Integer.parseInt(tvId.getText().toString());

// compare id no. at index i of array
if ((locationReview.get(i).id == Integer.parseInt(tvId.getText().toString()))) {
filteredlocationReview.add(locationReview.get(i))
}
}

步骤 3. 在循环范围之外将过滤后的 Parcelable 数组放入

LocationReview.putParcelableArrayListExtra("locationReview", filteredlocationReview);

第 4 步。开始新 Activity ,您需要使用 getParcelableArrayListExtra 方法来获取数组。

关于java - 如何使用 Parcelable 从 arraylist 索引传递元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59039536/

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