0

我有 3 个活动:main_tabhost、tab1、tab2 和一个变量 int t;

当我点击tab1时,增加t。然后我点击 tab2:如何在 tab 2 中获取 t 的值?给我一些想法或源代码。谢谢

4

2 回答 2

0

尝试使用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在清单文件中指定权限。

于 2012-11-29T01:42:38.990 回答
-1

将 t 定义为公共静态变量。

于 2012-11-29T01:30:38.020 回答