2

複数の Activity Under Tab Activity を使用しているアプリを開発しています。このチュートリアルを使用しています。

next から Result を取得したいActivity。どうすればできますか。私はそれを見つけることができません。thisthisなどの例を 2 つまたは 3 つ読みました。しかし、どうすれば結果が得られるのかわかりません。私も試しました

    View view = getLocalActivityManager().startActivityForResult("Search", 
new Intent(this, WhatMenu.class).
addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView();    
But it only Supports `startActivity()`

. どんな助けでも感謝します。
前もって感謝します

4

3 に答える 3

3

ViewFlipper私は助けてくれたおかげでそれを解決しました。

于 2012-05-13T12:01:53.293 に答える
1

を使用する場合にも request-code を渡す必要がありますstartActivityForResult()。それが何かわからない場合は、0 を渡してください。と
の構文は異なります。startActivity()startActivityForResult()

于 2012-04-11T09:52:33.043 に答える
0

アクティビティ 1
参照用のクラス変数を作成します。

private final int REQUEST_CODE = 0;

...
//Somewhere in your code you have to call startActivityForResult
Intent intent = new Intent(Activity1.this, Activity2.class);
startActivityForResult(intent);


アクティビティ 2

Activity2 を終了する前に、結果を OK に設定し、Activity1 に戻したいデータを配置する必要があります。

Intent data = new Intent();
data.putExtra("name", "Mark");
data.putExtra("number", 1);
data.putExtra("areYouHappy", true);

setResult(RESULT_OK, data);
finish(); //closes Activity2 and goes back to Activity1


次に、Activity1 に戻ります。onActivityResult メソッドをオーバーライドし、Activity2 から値を取得する必要があります。
これを行うには、最初に Activity2 の結果が OK かどうかを確認し、次に渡した参照 REQUEST_CODE を確認します。前に private final int を作成したのでREQUEST_CODE = 0、requestCode が変数 REQUEST_CODE と等しいかどうかを確認します。その場合は、アクティビティ 2 からデータを抽出します。

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if(resultCode==RESULT_OK) {
        if(requestCode==REQUEST_CODE) {
            if(data.getExtras()!=null) {
                String name = data.getStringExtra("name");
                int number = data.getIntExtra("number",0); //2nd parameter is the default value in case "number" does not exist 
                boolean areYouHappy = data.getBooleanExtra("areYouHappy", false); //2nd parameter is the default value in case "areYouHappy" does not exist
            }
        }
    }
}
于 2012-04-11T11:15:26.600 に答える