java – 意图问题,返回值(Android)

我有一个使用intent打开另一个类的应用程序:

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

      switch (reqCode) {
        case (PICK_CONTACT) :
          if (resultCode == Activity.RESULT_OK) {
            Uri contactData = data.getData();
            c =  managedQuery(contactData, null, null, null, null);
            if (c.movetoFirst()) {
              //String name = c.getString(c.getColumnIndexOrThrow(People.NAME));
              num = c.getString(c.getColumnIndexOrThrow(People.NUMBER));

            }    

          }    
        break;
      }
      finish();
    }

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

解决方法:

我认为你的方向混乱了.

在Repository类中,您必须在调用finish之前使用setResult().对于其他数据,您可以putExtra()数据.

例如,在onCreate()函数中设置结果.

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

针对Intent和Activity的机器人参考具有良好的描述,并且样本还包含ReceiveResult和SendResult样本.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...