0

main_tabhost、tab1、tab2、変数 int t の 3 つのアクティビティがあります。

tab1 をクリックすると、t が増加します。次に、tab2 をクリックします。タブ 2 で t の値を取得するにはどうすればよいですか? アイデアやソースコードを教えてください。ありがとう

4

2 に答える 2

0

Intenttab1 からの「スティッキー」ブロードキャストを使用してみてください。

tab1Activitytが変更されると...

Intent i = new Intent("myapp.action.DO_SOMETHING");
i.putExtra("t_value", t);
sendStickyBroadcast(i);

tab2 ではActivity、インナーを作成する必要がありますBroadcastReceiver...

public class MyActivity2 extends Activity {

    ...

    private class MyReceiver extends BroadcastReceiver {
        ...
    }
}

onResume()tab2の方法でActivityレシーバーを登録して「スティッキー」を取得してIntent……

int t;
Intent i = registerReceiver(new MyReceiver(), new IntentFilter("myapp.action.DO_SOMETHING"));
if (i != null)
    t = i.getIntExtra("t_value", 0);
// Do something with `t`

android.permission.BROADCAST_STICKY注:マニフェスト ファイルでアクセス許可を指定する必要があります。

于 2012-11-29T01:42:38.990 に答える