【问题标题】:Returning a pointer to the parent activity返回指向父活动的指针
【发布时间】:2010-12-10 05:11:21
【问题描述】:

我有一个带有创建新活动的父活动的 android 应用:

意图意图 = new Intent(myclass.this.getApplication(), someclass.class);
开始活动(意图);
}

someclass 管理一个数据库,我想将一个指向数据库的指针返回给父活动。

知道我该怎么做吗?

谢谢!

【问题讨论】:

标签: java android android-widget


【解决方案1】:

对于您的工作,我将查看 startActivityForResult()。您可以开始您的活动并将您需要的内容返回给父类。

http://saigeethamn.blogspot.com/2009/08/android-developer-tutorial-for_31.html

【讨论】:

  • 子活动中的 putExtra 方法不允许我添加对数据库的引用...
  • 文档不清楚,但我相信您需要在子活动中调用 getIntent().putExtra,然后 onActiityResult 中的 Intent 参数将包含数据。
  • 应该类似于这样: Intent returnIntent = new Intent(); returnIntent.putExtra("dbInfo",db.reference); setResult(RESULT_OK,returnIntent);结束();然后回到 OnActivityResult 类的父类中,您可以使用 data.getStringExtra("dbInfo")
【解决方案2】:

在 Android 中,无法将 DB 对象的句柄与 Intent 一起从一个 Activity 传递到另一个 Activity。相反,您需要找到另一种架构方法。例如,您的父活动应该能够在需要时打开数据库(并且可能某些条件允许)。如果您的子活动以某种方式决定是否允许父活动打开数据库,您可以使用parent.startActivityForResult(),然后使用child.setResult() 传回一些适当的结果代码,以便通过parent.onActivityResult() 通知父活动。

Starting Activities and Getting Results

【讨论】:

    猜你喜欢
    • 2016-05-14
    • 2013-04-10
    • 1970-01-01
    • 1970-01-01
    • 2010-11-16
    • 2018-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多