在android中使用tabHost切换选项卡时管理活动方法

时间:2013-04-20 14:54:47

标签: android android-intent android-tabhost

我正在尝试找到一种方法来获取tabHost中每个选项卡中运行的活动的实例。更具体地说,我有一个布局,其中有一个旋转器,显示一些活跃的足球比赛。在下面有一个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创建每个标签。当选择了微调器中的项目时,我将currentGame更改为拥有足球游戏(setOnItemSelectedListener)的选定实例。

我现在想要的是获取tabHost中活动Activity(CouponPoints,CouponScores,CouponSystems)的实例,以便调用“刷新”活动选项卡中组件的特定方法。

我尝试通过添加标记Intent.FLAG_ACTIVITY_CLEAR_TOPIntent.FLAG_ACTIVITY_NEW_TASK,然后在每个Coupon *活动中处理方法onNewIntent()来尝试做类似的事情......不幸的是,这不起作用。 ..

有没有人有任何想法如何在选择微调项目时刷新我的组件???

0 个答案:

没有答案