【问题标题】:Android. ListView. Add items dynamically安卓。列表显示。动态添加项目
【发布时间】:2013-05-21 12:00:38
【问题描述】:

ListView 使用了我自己的 CustomArrayAdapter。我无法将项目动态添加到 ListView。 ListView 是 Fragment 的组件。

if(!recentItems.isEmpty()) {
    getActivity().runOnUiThread(new Runnable() {
        public void run() {
            MyFragment.listAdapter.addItems(recentItems);           
            MyFragment.listAdapter.notifyDataSetChanged();                      
        }                   
    });                             
}

所有新项目都添加到我的 CustomArrayAdapter 的 ArrayList 中。

private ArrayList<ListItem> values;

public void addItems(ArrayList<ListItem> list) {        
    if(Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) {
        for(ListItem item : list) {
            values.add(item);
        }           
    } else {
        values.addAll(list);
    }               
}

我已经阅读了很多建议,但到目前为止没有一个对我有用。

【问题讨论】:

    标签: android android-listview android-arrayadapter


    【解决方案1】:

    在添加值后调用 notifyDataSetChange()。

    【讨论】:

    • 我应该打电话吗?如您所见,我在addItems 方法之后调用notifyDataSetChange 方法。
    • 他在做我也这么认为。
    • 哎呀抱歉。你确定recentItems 不为空吗?
    • 还要确保您的 getCount 函数返回值的大小,而不是一个常量大小
    • 我在addItems 方法中切换了断点。通过recentItems 列表不为空。
    猜你喜欢
    • 1970-01-01
    • 2022-10-18
    • 1970-01-01
    • 2016-08-17
    • 2016-06-02
    • 1970-01-01
    • 2022-11-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多