12

結果のアクティビティを開始します

startActivityForResult(new Intent(this,ActivityA.class),REQUEST_CODE)

ActivityAが開始されます。ActivityAにグリッドビューがあります。呼び出し元のActivityのメソッドonActivityResult(int requestCode、int resultCode、Intent data)で選択した画像の位置を取得したいのですが、その方法がわかりません。

4

2 に答える 2

27

アクティビティAでは、

onItemClick()GridView

//create a new intent...
Intent intent = new Intent();
intent.putInt("position",position);
setResult(RESULT_OK,intent);
//close this Activity...
finish();

発信者アクティビティでは、

  @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent intent){
        super.onActivityResult(requestCode, resultCode, intent);
        Bundle extras = intent.getExtras();
        if(extras != null)
        int position = extras.getInt("position");
    }
于 2012-07-24T10:01:01.163 に答える
0

startActivityForResult()コールバックを一意に識別するには、アクティビティAの類似性と成功を確認します。これに従ってください:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent){
    super.onActivityResult(requestCode, resultCode, intent);
    if(requestCode==REQUEST_CODE)
      {
        if(resultCode==RESULT_OK)
          {
              Bundle extras = intent.getExtras();
              if(extras != null)
              int position = extras.getInt("position");
          }
       }
}
于 2019-01-02T21:35:11.633 に答える