gpt4 book ai didi

java - 当我删除某些内容时,ListView 不会刷新

转载 作者:行者123 更新时间:2023-12-02 10:58:46 25 4
gpt4 key购买 nike

我有一个自定义适配器给我带来了问题。当我添加或编辑某些内容时,它会更新 ListView ,但当我删除时,它不会更新。

删除某些内容时的代码:

private ArrayList<Teams> m_orders = null;
private TeamsAdapter m_adapter;
private ListView lstv;
...
private void deleteTeam(int indexRemove){
hasKeys.remove(hasKeys.indexOf(m_orders.get(indexRemove).getTeamName()));
Menu.teams.remove(m_orders.get(indexRemove).getTeamName());
m_orders.remove(indexRemove);
m_adapter.notifyDataSetChanged();
}

我尝试使用 Runnable,但没有成功。

 private Runnable returnRes = new Runnable() {
@Override
public void run() {
if(m_orders != null && m_orders.size() > 0){
m_adapter.notifyDataSetChanged();
for(int i=0;i<m_orders.size();i++)
m_adapter.add(m_orders.get(i));
}
m_adapter.notifyDataSetChanged();
}
};

我的onCreate方法:

    lstv = findViewById(R.id.teamsList);
m_orders = new ArrayList<Teams>();
this.m_adapter = new TeamsAdapter(this, R.layout.row, m_orders);
lstv.setAdapter(this.m_adapter);

最佳答案

您必须从 Adapter 类内部的 ArrayList 中删除一个项目。因此,您需要在适配器类中编写删除函数。这样就可以通过调用notifyDataSetChanged()方法来删除项目并更新listview。

关于java - 当我删除某些内容时,ListView 不会刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51507162/

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