我有 3 个活动:main_tabhost、tab1、tab2 和一个变量 int t;
当我点击tab1时,增加t。然后我点击 tab2:如何在 tab 2 中获取 t 的值?给我一些想法或源代码。谢谢
我有 3 个活动:main_tabhost、tab1、tab2 和一个变量 int t;
当我点击tab1时,增加t。然后我点击 tab2:如何在 tab 2 中获取 t 的值?给我一些想法或源代码。谢谢
尝试使用Intent
来自 tab1 的“粘性”广播。
在 tab1中Activity
何时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
在清单文件中指定权限。
将 t 定义为公共静态变量。