Activity(2.ジャンプ)

2655 ワード

Activityのジャンプには2つの方法があります.
  • 普通ジャンプ:
  • Intent intent = new Intent(MainActivity.this, SecondActivty.class);
    
    startActivity(intent);
  • 戻り値付きジャンプ:
  • startActivity ForResultを呼び出し、パラメータバンド要求インデックス
  • public static final int REQUEST_SEC = 1; // ID
    
    
    
    Intent backIntent = new Intent(MainActivity.this, SecondActivty.class);
    
    startActivityForResult(backIntent, REQUEST_SEC);
  • 受信側Activityは、このジャンプ要求
  • を処理する.
    Intent intent = new Intent();
    
    intent.putExtra("value", "hello word");
    
    intent.putExtra("input", MainActivity.REQUEST_SEC);
    
    setResult(RESULT_BACK,intent);
    
    finish();// finish, activity, back
  • MainActivityでの処理は
  • に戻る.
        @Override
    
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    
            // TODO Auto-generated method stub
    
            super.onActivityResult(requestCode, resultCode, data);
    
            
    
            Log.i(TAG_ACTIVITY, "requestCode:" + requestCode);
    
            Log.i(TAG_ACTIVITY, "resultCode:"  + resultCode);
    
            
    
            if(resultCode == SecondActivty.RESULT_BACK && REQUEST_SEC == requestCode){
    
                Toast.makeText(getApplicationContext(), data.getStringExtra("value"),
    
                         Toast.LENGTH_SHORT).show();
    
            }
    
        }