Android TabActivity创建一个intent onClick按钮,但activity receiver的tabhost消失

Android TabActivity创建一个intent onClick按钮,但activity receiver的tabhost消失,android,android-intent,android-tabhost,tabactivity,Android,Android Intent,Android Tabhost,Tabactivity,我有两个活动:A,B。第一个是活动,第二个是活动。 在A里面,我有一个可点击的按钮,它可以让我打电话给其他活动 public class A extends TabActivity implements OnClickListener { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout

我有两个活动:A,B。第一个是活动,第二个是活动。 在A里面,我有一个可点击的按钮,它可以让我打电话给其他活动

public class A extends TabActivity implements OnClickListener {

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        tabHost = getTabHost();
        tabHost.addTab(tabHost.newTabSpec("a").setContent(R.id.a).setIndicator("a"));

        b = new Intent(this,B.class);
    tabHost.addTab(tabHost.newTabSpec("b").setContent(b)
            .setIndicator(this.getString(R.string.b)));

        btn.setOnClickListener(this);
    }


    public void onClick(View arg0) {
        if (arg0 == btn) {
        startActivity(b);
        }
    }
}
在B中,我有一个线程,每当单击类中的按钮时,它都会从internet获取数据:

public class B extends Activity {
    public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.search_result);

       searchHandler = new Handler() {
           @Override
           public void handleMessage(Message msg) {
               draw(msg.obj.toString());
           }
    }

    Intent intent = getIntent();
    if(..)
        sendHttpRequest();
}

数据返回正确,我可以管理它,但我的tabhost消失了。如何解决?

每当您单击一个按钮时,您调用的活动不是选项卡活动的子活动。 所以tabhost是不受欢迎的。在选项卡活动中调用活动b,如下所示

 tabHost.addTab(tabHost.newTabSpec("Tab")
                    .setIndicator("Tab")
                    .setContent(new Intent(this, b.class)
                   ));

android自动更改选项卡的方法是:

tabHost.setCurrentTab(tab);
以及不使用:

startActivity(intent);

要在所有活动中使用它,最好的方法是将TabHost设置为public和static。

正确,但我如何才能实现我想要的行为?使用tabchangedListener和tabChanged方法调用你的方法。每次你更改tab时,我都会继续不理解如何实现我想要的工作流。只是为了确定你误解了我。我需要绘制一个与选项卡B关联的活动,但不要单击选项卡的切换。点击它,我只需要点击活动(a)中查看的按钮来显示我生成的内容,但我希望选项卡的切换继续存在。如果你认为你的回答仍然正确,我想得到更多的解释。