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