【问题标题】:Intent problem, return value (Android)意图问题,返回值(Android)
【发布时间】:2010-10-28 15:29:25
【问题描述】:

我有一个使用意图打开其他类的应用程序:

私人无效createRepository(){ Intent j = new Intent(this, Repository.class); startActivityForResult(j, ACTIVITY_CREATE); }

在 Repository.class 我们有 onActivityResult 方法:

public void onActivityResult(int reqCode, int resultCode, Intent data) { super.onActivityResult(reqCode, resultCode, data); 开关(reqCode){ 案例(PICK_CONTACT): if (resultCode == Activity.RESULT_OK) { Uri contactData = data.getData(); c = managedQuery(contactData, null, null, null, null); 如果(c.moveToFirst()){ //字符串名称 = c.getString(c.getColumnIndexOrThrow(People.NAME)); num = c.getString(c.getColumnIndexOrThrow(People.NUMBER)); } } 休息; } 结束(); }

我不知道如何将 num 的值返回给第一个类(创建 Repository.class)。 谢谢您的帮助。 迈克尔

【问题讨论】:

    标签: java android


    【解决方案1】:

    我认为你把方向搞混了。

    在 Repository 类中,您必须在调用完成之前setResult()。如需更多数据,您可以putExtra()data。

    例如,将您的结果设置在onCreate() 函数中。

    在您的调用类(启动 Repository 的类)中,您覆盖 onActivityResult(int requestCode, int resultCode, Intent data) 并使用 data.getBundleExtra() 获取数据。

    Intent 和 Activity 的 Android 参考有很好的描述,示例还包含 ReceiveResult 和 SendResult 示例。

    【讨论】:

    猜你喜欢
    • 2010-11-14
    • 1970-01-01
    • 1970-01-01
    • 2011-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多