java - listview.setAdapter(null) 似乎不起作用

标签 java android listview android-adapter

我有一个选项卡布局包含一个 ListView ,每次选择选项卡时该 View 都会更新 但新项目将添加到列表中,并且在添加新项目之前列表不会被清除

public class DemoObjectFragment extends Fragment {
ListView lv;
private String TAG = DemoObjectFragment.class.getSimpleName();
public static ArrayList<HashMap<String, String>> contList = new ArrayList<>();
android.widget.ListAdapter adapter;

@Override
public View onCreateView(LayoutInflater inflater,
                         ViewGroup container, Bundle savedInstanceState) {
    View vw = inflater.inflate(R.layout.coin, container, false);
    try {
        for (int i = 0; i < contactList.size(); i++) {
            Log.v(TAG, "Response: " + contactList.get(i));
            if (Integer.valueOf(contactList.get(i).get("asset_id")) == MainActivity.typeCurrency) {
                contList.add(contactList.get(i));
            }
        }
    }catch (Exception e){
        e.getMessage();
    }


    lv=vw.findViewById(R.id.exchangeList);
    lv.setAdapter(null);
    adapter = new SimpleAdapter(getActivity(), contList, R.layout.list_item, new String[]{"sourceName", "priceCurrency"},
            new int[]{R.id.sourceName, R.id.priceCurrency});
    lv.setAdapter(adapter);
    contactList=new ArrayList<>();
    return vw;
}

}

最佳答案

您需要在将新项目添加到列表之前清除项目

 contList.clear();

尝试添加clear()方法。

 try {
    contList.clear();
    for (int i = 0; i < contactList.size(); i++) {
        Log.v(TAG, "Response: " + contactList.get(i));
        if (Integer.valueOf(contactList.get(i).get("asset_id")) == MainActivity.typeCurrency) {
            contList.add(contactList.get(i));
        }
    }
}catch (Exception e){
    e.getMessage();
}

关于java - listview.setAdapter(null) 似乎不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52312118/

相关文章:

java - 压缩机是抽象的;无法实例化

android - 在 Android Studio 中附加调试器的快捷方式

android - 使用 AsyncTask for Android ListView 更新图像缩略图不正确

android - 从 BaseExpandableListAdapter 删除行后如何刷新 ListView 行?

java - 分别想要 recyclerView 的每个 View 的屏幕截图

java - 如何配置每 15 分钟滚动一次日志文件的 log4j 文件附加程序

java - Class.ForName ("com.microsoft.sqlserver.jdbc.SQLServerDriver")抛出 ClassNotFoundException

java - 过滤维基百科的 XML 转储 : error on some accents

java - 换行符与系统换行符不同

android - 没有 NEON 支持的 OpenCV4android armeabiv7 死于致命信号 4 (SIGILL)