Java Android-如何更新其他活动的数据。在你';我们正在努力

Java Android-如何更新其他活动的数据。在你';我们正在努力,java,android,sqlite,Java,Android,Sqlite,我有一个简单的安卓应用程序,可以组织一个项目列表。我还是个初学者,所以请原谅我在这个问题上有任何含糊不清的地方 主要活动包括现有项目的列表&两个按钮、添加项目和检索项目。检索项从SQLite数据库中提取所有当前项并显示它们 当我添加一个项目时,它工作正常,并将一个新项目添加到数据库中。当我关闭处理添加项目的活动时,新项目不会自动显示,我必须再次检索数据。 我希望在关闭“添加项目”活动后,能够在屏幕上看到新项目。 在主活动中检索数据库中的项的代码为: MovieDBAdapter dbadapte

我有一个简单的安卓应用程序,可以组织一个项目列表。我还是个初学者,所以请原谅我在这个问题上有任何含糊不清的地方

主要活动包括现有项目的列表&两个按钮、添加项目和检索项目。检索项从SQLite数据库中提取所有当前项并显示它们

当我添加一个项目时,它工作正常,并将一个新项目添加到数据库中。当我关闭处理添加项目的活动时,新项目不会自动显示,我必须再次检索数据。 我希望在关闭“添加项目”活动后,能够在屏幕上看到新项目。 在主活动中检索数据库中的项的代码为:

MovieDBAdapter dbadapter = new MovieDBAdapter(this);
ArrayList<HashMap<String, String>> movieList =  dbadapter.getMovieList();
ListAdapter adapter = new SimpleAdapter(MainActivity.this, movieList, R.layout.view_movie_entry, new String[] {"id", "title"}, new int[] {R.id.movie_Id, R.id.title});
setListAdapter(adapter);
MovieDBAdapter dbadapter=新的MovieDBAdapter(此);
ArrayList movieList=dbadapter.getMovieList();
ListAdapter=new SimpleAdapter(MainActivity.this,movieList,R.layout.view_movie_条目,新字符串[]{“id”,“title”},新int[]{R.id.movie_id,R.id.title});
setListAdapter(适配器);
我尝试在其他活动中添加此代码,但它引发了一个错误,因为setListAdapter方法仅适用于扩展listActivity的类,而添加新项的类不适用

任何关于如何做到这一点的建议都是非常好的


小结:我想直接更新activity,而不必在mainActivity类中调用单独的方法。

使用调用addItem activity

 startActivityForResult(Intent intent,  int requestCode);
一旦添加了呼叫中的项目

 setResult(resultCode)
因此,请在其他活动中执行以下操作

 @Override
 protected void onActivityResult(int requestCode, int resultCode, 
  Intent data) {
// Check which request we're responding to
// here update the list
}

因此,一旦添加了项,setReult就会调用ActivityResult。

您可以使用
CursorLoader
从数据库中加载它。无论何时更新数据库
CursorLoader
都会自动更新所有内容。这是你的问题吗?文档:您可以使用
BaseAdapter
,每次调用
adapter.notifyDatasetChanged()
,它都会重新加载项目。您可以在
onResume
方法中调用它。具有列表的活动是必须具有适配器的活动。你想做的事毫无意义。