Intent在view中跳转Activity2

Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
((Activity)context).startActivityForResult(intent, 1);

如果想跳转可以返回请求数据的activity,则必须还要把context强转为activity。然后重写一个方法:

@Override
protected
void onActivityResult(int requestCode, int resultCode, Intent data) {   if(requestCode == 1){     TextClass.onActivityResult1(requestCode, resultCode, data); } super.onActivityResult(requestCode, resultCode, data); }

这时候问题就来了,这个方法是在Activity中的,在view下不能调用。我们可以折中一下,先在在工程的MainActivity中重写这个方法,因为这个方法是activity退出时的回调方法,所以不管他在那个activity中重写,都会被调用到。然后在方法里调用一个继承自view类中的自定义的一个方法(这个方法各个参数和onActivityResult()中一样),回调方法执行后就会把参数传给自定义的方法,在这个方法里就可以获取数据了。

//我这个是以打开图库获取图片路径为例:
public static void onActivityResult1(int requestCode, int resultCode, Intent data){
  if(data != null){
    Uri uri = data.getData();
    String iPath = uri.toString();
  Log.i(TAG, iPath + "——-tostirng");
}
}
原文地址:https://www.cnblogs.com/wangyuehome/p/2954108.html