我正在尝试找到一种方法来获取在 tabHost 的每个选项卡中运行的活动实例。更具体地说,我有一个布局,顶部有一个显示一些正在进行的足球比赛的微调器。正下方有一个包含三个选项卡的选项卡主机。每个选项卡都必须在微调器中包含有关所选游戏的一些信息。
因此,当我在微调器中选择不同的游戏时,我希望更改选项卡中的信息,以便显示有关所选游戏的正确信息。
我用来创建三个选项卡的代码:
tabHost = (TabHost) findViewById(R.id.couponTabHost);
LocalActivityManager mLocalActivityManager = new LocalActivityManager(this, false);
mLocalActivityManager.dispatchCreate(savedInstanceState);
tabHost.setup(mLocalActivityManager);
TabSpec pointCouponSpec = tabHost.newTabSpec("Σημεία");
pointCouponSpec.setIndicator("Σημεία", getResources().getDrawable(android.R.drawable.arrow_down_float));
Intent pointCouponIntent = new Intent(this, CouponPoints.class);
pointCouponIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
pointCouponIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
pointCouponIntent.putExtra("couponGame",currentGame);
pointCouponSpec.setContent(pointCouponIntent);
TabSpec scoreCouponSpec = tabHost.newTabSpec("Σκορ");
scoreCouponSpec.setIndicator("Σκορ", getResources().getDrawable(android.R.drawable.arrow_down_float));
Intent scoreCouponIntent = new Intent(this, CouponScores.class);
scoreCouponIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
scoreCouponIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
scoreCouponIntent.putExtra("couponGame", currentGame);
scoreCouponSpec.setContent(scoreCouponIntent);
TabSpec systemCouponSpec = tabHost.newTabSpec("Συστήματα");
systemCouponSpec.setIndicator("Συστήματα", getResources().getDrawable(android.R.drawable.arrow_down_float));
Intent systemCouponIntent = new Intent(this, CouponSystems.class);
systemCouponIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
systemCouponIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
systemCouponIntent.putExtra("couponGame", currentGame);
systemCouponSpec.setContent(systemCouponIntent);
tabHost.addTab(pointCouponSpec);
tabHost.addTab(scoreCouponSpec);
tabHost.addTab(systemCouponSpec);
如您所知,我使用 Intents 创建每个选项卡。When an item in the spinner is selected, I change the currentGame
to have the selected instance of the football game (setOnItemSelectedListener)
.
我现在想要的是在 tabHost 中获取活动 Activity 的实例(CouponPoints、CouponScores、CouponSystems),以便调用“刷新”活动选项卡中的组件的特定方法。
我试图通过添加标志然后处理每个 Coupon* 活动中的方法来做类似的事情Intent.FLAG_ACTIVITY_CLEAR_TOP
......Intent.FLAG_ACTIVITY_NEW_TASK
不幸的onNewIntent()
是,这不起作用......
有没有人知道如何在选择微调器项目时刷新我的组件???