十月项目小结(多级回跳)

Activity多级回跳

//重写PresentActivity中的onActivityResult方法,对返回结果进行响应

    @Override
    protected void onActivityResult(int requestCode , int resultCode , Intent data ){
        switch (requestCode){
            case targetActivityRequestCode :
                if( resultCode == 1){
                    String payResult = data.getStringExtra("PayResult");
                    if(payResult.equals("...")) {
                        //onBackPressed();
                          finish();
                    }
                }
        }
    }

//启动目标Activity(要点:使用startActivityForResult方法启动)

  Intent intent = new Intent(PresentActivity, TargetActivity.class);
                intent.putExtra("Key", value);
                startActivityForResult(intent,requestCode);//requestCode用作标记返回信息来自哪个TargetActivity
                //((Activity)mContext).startActivityForResult(intent,1);//adapter启动需要对mContext进行强制类型转换

//TargetActivity的返回跳转

private void backLastActivity(boolean paySuccess) {
        Intent intent = new Intent();
        if (paySuccess) {
            intent.putExtra("PayResult", "Success");
        } else {
            intent.putExtra("PayResult", "Fail");
        }
        setResult(RESULT_OK, intent);
        finish();
    }

猜你喜欢

转载自blog.csdn.net/qq_43044875/article/details/84674307