gpt4 book ai didi

java - 从另一个类更新 ListView 项目

转载 作者:太空宇宙 更新时间:2023-11-04 14:45:22 24 4
gpt4 key购买 nike

我在尝试更新 listview 值时遇到问题。我有一个由编辑文本组成的自定义适配器。当我单击编辑文本时,我会显示一个对话框(位于另一个类中)并向他传递相同的值,例如位置、arralist 等。

在对话框类中我有这个方法

public void updateValue(String newValue) {
MyObject object = arrayList.get(position);
object.valueFile = newValue;
arrayList.set(position, object);
MyAdapter adapter = new MyAdapter(context, 0, arrayList);
adapter.notifyDataSetChanged();
}

此方法有效,因为新值已正确插入到数组列表中,但编辑文本的文本未更新,但仅在滚动时更新,然后返回该编辑文本。为什么?我该如何修复?问题出在哪里?

最佳答案

您不能第二次使用 New() 适配器。适配器只能New()一次。
如果你想更新listview,你需要更新你的arrayList中的数据

ArrayList<yourType> arrayList = new ArrayList<yourType>();
//Init data for your arrayList
//...
//Init your adapter
MyAdapter adapter = new MyAdapter(context, 0, arrayList);

//update item of listview
public void updateValue(String newValue) {
arrayList.get(position).valueFile = newValue;
adapter.notifyDataSetChanged();
}

关于java - 从另一个类更新 ListView 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24447511/

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