我有一个使用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样本.
总结以上是内存溢出为你收集整理的java – 意图问题,返回值(Android)全部内容,希望文章能够帮你解决java – 意图问题,返回值(Android)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)