1. 程式人生 > >十月專案小結(多級回跳)

十月專案小結(多級回跳)

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();
    }