main_tabhost、tab1、tab2、変数 int t の 3 つのアクティビティがあります。
tab1 をクリックすると、t が増加します。次に、tab2 をクリックします。タブ 2 で t の値を取得するにはどうすればよいですか? アイデアやソースコードを教えてください。ありがとう
main_tabhost、tab1、tab2、変数 int t の 3 つのアクティビティがあります。
tab1 をクリックすると、t が増加します。次に、tab2 をクリックします。タブ 2 で t の値を取得するにはどうすればよいですか? アイデアやソースコードを教えてください。ありがとう
Intent
tab1 からの「スティッキー」ブロードキャストを使用してみてください。
tab1Activity
でt
が変更されると...
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
注:マニフェスト ファイルでアクセス許可を指定する必要があります。