0

我正在尝试找到一种方法来获取在 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 currentGameto 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()是,这不起作用......

有没有人知道如何在选择微调器项目时刷新我的组件???

4

0 回答 0