谢谢你查看我的询价单!
我已经实现了一个tab环境,如下所示。它似乎像我所期望的那样工作,只是它从不执行ontabchanged方法。我已经找到了几篇关于这种情况的文章,但是我的代码无法按我预期的方式工作。建议?
谢谢,
炸薯条

public class TestTabActivity extends TabActivity implements OnTabChangeListener {

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

    Resources res = getResources(); // Resource object to get Drawables
    TabHost tabHost = getTabHost();  // The activity TabHost
    TabHost.TabSpec spec;  // Resusable TabSpec for each tab
    Intent intent;  // Reusable Intent for each tab

    intent = new Intent().setClass(this, Page1Activity.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

    spec = tabHost.newTabSpec("page1").setIndicator("Page 1",
                      res.getDrawable(R.drawable.ic_tab_page1))
                  .setContent(intent);
    tabHost.addTab(spec);

    intent = new Intent().setClass(this, Page2Activity.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    spec = tabHost.newTabSpec("page2").setIndicator("Page 2",
                      res.getDrawable(R.drawable.ic_tab_page2))
                  .setContent(intent);
    tabHost.addTab(spec);

    intent = new Intent().setClass(this, Page2Activity.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    spec = tabHost.newTabSpec("page3").setIndicator("Page 3",
                      res.getDrawable(R.drawable.ic_tab_page3))
                  .setContent(intent);
    tabHost.addTab(spec);

    tabHost.setCurrentTab(0);
}

public void onTabChanged(String tabId) {
    Log.d("Tab Changed", "Changed a Tab");
}
}

最佳答案

我看不出你用tabHost.setOnTabChangeListener(this)注册了一个标签更改类。
我建议在tabHost.setCurrentTab(0)之前做。
即使在第一组选项卡上没有调用它,您也可以在onTabChanged("page1")结束时手动调用onCreate
还是我误解了你的问题?

07-28 00:07