Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android onResume更新列表适配器_Android_Android Activity_Onresume - Fatal编程技术网

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();
我想这对你有帮助

谢谢……

,可能会对您有所帮助