编辑2:
我确实解决了我的问题,但是我不知道如何:S我在移动代码段,突然间它起作用了.一定是按错误的顺序进行了某些操作,但是它很奇怪,已经多次检查了.感谢您的帮助,对不起,我无法发布答案;)
你好
我有一个列表视图,当我向其中添加元素时,我试图刷新以自我更新
基础数组列表.
这是代码片段:
private void addEvent() {
arrlEvents.add( event );
adptEvents.notifyDataSetChanged();
updateSaveFile();
filterList();
}
arrlEvents是具有事件的基础arraylist,并且我添加了一个事件,试图使用notifyDataSetChanged()更新列表视图,但是它不起作用.有人可以帮忙吗?
谢谢你的时间:)
编辑:
这是适配器的源代码:
private ArrayAdapter<Event> adptEvents;
adptEvents = new ArrayAdapter<Event>( EventCalendar.this, R.layout.list_items, arrlEvents );
解决方法:
我已经看到,有时它只是随机地不通知适配器.
尝试在全局范围内将adptEvents用作受保护的或公共的.
我发现那不起作用.您可以再次重新设置适配器,只需将notifyDataSetChanged()替换为:
adptEvents = new ArrayAdapter<Event>( EventCalendar.this, R.layout.list_items, arrlEvents );
编辑:
这是我编写的有效应用程序的代码窃听器.
类定义:
public class ClassName extends ListActivity implements AdapterView.OnItemSelectedListener {
全局变量:
CustomAdapter adapter;
在OnCreate()中:
adapter = new CustomAdapter(this,R.layout.layout_name,dataSet);
setListAdapter(adapter);
每当我需要通知时
adapter.notifyDataSetChanged();