5

我用谷歌搜索了这个,但找不到任何解决方案,请帮忙。我用 Tabhost 创建了一个带有 3 个选项卡的选项卡视图,并使用 TabSpec 设置它的标题,如下所示:

TabSpec tbhome = tabHost.newTabSpec("Home");
tbhome.setIndicator("Selected Topic");

我的另一个选项卡中有 2 个按钮,位于上方选项卡旁边。现在我想要的是,如果我单击此选项卡中的按钮,则此按钮的标题必须设置为我的主页选项卡的标题。也就是说,在上面的代码中,“Selected Topic”必须设置为我的按钮标题。

谢谢。

4

4 回答 4

2

首先你得到按钮并使它成为最终的然后点击设置它的文本

        final Button bX = (Button) findViewById(R.id.bXX);
        bX.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                    bX.setText("Selected Topic ");
            }
        });
于 2013-08-25T13:33:12.557 回答
2

代码可以改进,但应该这样做:

public void onClick(View button)
{
    RelativeLayout tbhome = tabHost.getTabWidget().getChildAt(0);
    for (int j = 0; j < tbhome.getChildCount(); j++)
    {
        if (tbhome.getChildAt(j) instanceof TextView)
        {
            ((TextView) tbhome.getChildAt(j)).setText(button.getText());
            break;
        }
    }
}
于 2013-08-29T10:42:13.567 回答
1

创建一个静态变量,值为“选定主题”,在按钮单击事件中,将按钮小部件的属性设置为 statis 变量中的值。希望这就是你的意思。

于 2013-08-25T13:05:18.720 回答
1

未经测试,但我会尝试将新文本 Bundle'd 从一个活动发送到另一个活动。

也许用 Activity.onNewIntent() 抓住它

于 2013-08-29T12:34:42.693 回答