Android onResume更新列表适配器
我使用一个列表适配器来显示不同的商店,当有人选择一个商店时,它会将他们带到一个新的活动中,他们可以在该屏幕上将商店添加到收藏夹中 有一个返回按钮,它调用Android onResume更新列表适配器,android,android-activity,onresume,Android,Android Activity,Onresume,我使用一个列表适配器来显示不同的商店,当有人选择一个商店时,它会将他们带到一个新的活动中,他们可以在该屏幕上将商店添加到收藏夹中 有一个返回按钮,它调用finish()返回到带有listview的屏幕 现在的问题是listview没有更新(即,没有显示商店已经添加到收藏夹中)。我尝试了此代码,但没有成功: @Override public void onResume() { super.onResume(); list.setAdapter(null); up
finish()代码>返回到带有listview的屏幕
现在的问题是listview没有更新(即,没有显示商店已经添加到收藏夹中)。我尝试了此代码,但没有成功:
@Override
public void onResume() {
super.onResume();
list.setAdapter(null);
updateMyList();
adapter=new LazyAdapter(this, ((String[])names.toArray(new String[0])),
((String[])status.toArray(new String[0])));
list.setAdapter(adapter);
}
updateMyList()
调用服务器API并更新名称和状态数组
使用此代码,列表不会真正更新…在向listView添加新视图之前,请删除所有以前的视图
listView.removeAllViews();
然后添加具有新值的适配器类。有一件事要确保在您从第二个活动返回时更新了您的值,并且此代码正在调用。您应该仅在onCreate()
中,在onResume()
中设置adapter,您只需使用新的数据集合调用adapter.notifyDataSetChanged()
。这将使用新的数据集合刷新您的列表视图。首先,您需要将存储列表添加到arraylist,
将此数组列表提交到适配器,然后将其添加到列表视图中
list.setAdapter(adapter);
它将显示门店列表;获取onListItemClick
单击此处,您将获得listItem
Id;通过使用列表项ID,你可以给出如下意图
Intent intent=new Intent(getApplicationContext(),------.class);
startActivityForResult(intent);
以javabean/setter和getter方法类为例;以getter方法为静态,设置在子活动中创建的存储名称;重写名为onBackPressed()的方法;在该方法的内部编写
setResult(RESULT_OK);
finish();
在父类中的activityforresult()上使用方法;在这个方法里面
arraylist.add(javabeanClassname.getName());
将该arraylist添加到适配器中
,然后编写代码
list.setAdapter(adapter);
使用此代码:
myList.clear();
myList.add("your array list items");
setListAdapter(adapter);
adapter.notifyDataSetChanged();
我想这对你有帮助
谢谢……,可能会对您有所帮助