java - Android- 如何更新另一个 Activity 的数据。在你正在工作的那个之外

标签 java android sqlite

我有一个简单的 Android 应用程序,可以组织项目列表。我仍然是初学者,所以请原谅问题中的任何歧义。

主要 Activity 由现有项目列表和两个按钮组成,添加项目和检索项目。检索项目会从 SQLite 数据库中提取所有当前项目并显示它们。

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

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);

我尝试在其他 Activity 中添加此代码,但它引发了错误,因为 setListAdapter 方法仅适用于扩展 listActivity 的类,而添加新项目的类则不适用。

关于如何执行此操作的任何建议都很好。

总结:我想立即更新 Activity,而不必在 mainActivity 类中调用单独的方法。

最佳答案

使用

调用addItem Activity
 startActivityForResult(Intent intent,  int requestCode);

一旦该项目加入调用

 setResult(resultCode)

然后在Other activity中实现以下内容

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

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

关于java - Android- 如何更新另一个 Activity 的数据。在你正在工作的那个之外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29844008/

相关文章:

Java Android Canvas.drawText(...) 在所有屏幕上同样大

java - 适用于 Android 9 及更高版本的 FusedLocationProviderClient 后台服务

java如何区分文件编码ISO-8859-1和UTF-8?

java - Lru Cache listView 图片问题

java - 在java中将文件名存储在整数变量中

android - 三星的 InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS

javascript - 从 Phonegap 的 SQLite 数据库中提取数据

sql - 从至少具有该状态的一组重复记录中选择具有给定状态的一条记录

java - 两个 boolean 属性之间的双向反相器绑定(bind)

Java:BufferedReader 的 readLine 方法的效率和可能的替代方法