0

チェック可能ないくつかのカテゴリを含むリストビューがあります。このアクティビティを開始したいのですstartActivityForResultが、ユーザーが最初のアクティビティに戻ると、このアクティビティは選択されたカテゴリの作成を開始し、ID をリストに保存します。onResult問題は、メソッドをどこで呼び出すかです。私の最初の考えは、次のように置くことです:

@Override
protected void onPause() {
    super.onPause();
    if(isFinishing()){
      onResult()....call here       
    }
}

ただし、私が知っているisFinishing()ように、アクティビティが終了していること、およびいつ呼び出されるかを確認できないことを確認するための最良の方法ではありません。ユーザーがカテゴリのチェックを終了したときに結果を返すより良い方法はありますか? onResultユーザーが選択するたびに送信できないということです。

4

2 に答える 2

0

選択中に を呼び出し、setResult(int resultCode, intent data)前のアクティビティの onActivityResult をオーバーライドします。

public void onActivityResult(int requestCode, int resultCode, Intent intent) {

  //do something here.

}

これがお役に立てば幸いです... :)

于 2013-02-26T11:33:53.090 に答える
0

onResult()アクティビティの結果を識別したいときに呼び出す必要はありません。代わりにsetResult、ユーザーが選択を行うたびに使用し、アクティビティが最後に設定された結果を終了すると、結果のアクティビティを開始したアクティビティに伝播されます。

コードは次のようになります。

onItemSelected(){ // or onClick
     getItem();
     setResult();
}
于 2013-02-26T11:35:13.863 に答える