Что такое намерение из параметров onActivityResult

Вот код моей первой активности , откуда я вызываю вторую активность :

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
  if (keyCode == KeyEvent.KEYCODE_DPAD_LEFT){       
    startActivityForResult(new Intent("chap.two.Chapter2Activity2"),request_Code);          
  }    
  return false;
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
  if (requestCode == request_Code) {
    if (resultCode == RESULT_OK) 
      Toast.makeText(this,data.getData().toString(),Toast.LENGTH_SHORT).show();             
  }
}

А вот код chap.two.Chapter2Activity2:

Button n = (Button) findViewById(R.id.btn_OK);
n.setOnClickListener(new View.OnClickListener() {               
   @Override
   public void onClick(View v) {
     // TODO Auto-generated method stub

     Intent data = new Intent();
     //---get the EditText view---
     EditText txt_username =(EditText) findViewById(R.id.txt_username);
     //---set the data to pass back---
     data.setData(Uri.parse(txt_username.getText().toString()));
     setResult(RESULT_OK, data);
     //---closes the activity---
     finish();

   }
});

здесь я вижу, что setResult(RESULT_OK, data)имеет два аргумента, но
onActivityResult(int requestCode, int resultCode, Intent data)имеет три, и я хочу знать, как onActivityResultполучает значение для третьего параметра? Как это работает, может кто подскажет? Почему нет этой ошибки?

10
задан ישו אוהב אותך 23 July 2016 в 05:11
поделиться