На ум приходит пара возможностей.
Если вы используете TabActivity (не является обязательным требованием, но упрощает задачу), в качестве идентификатора у tabhost должен быть android:id="@android:id/tabhost"
.
Я также видел, что там сказано, что tabhost должен быть корневым узлом.Я не могу подтвердить, что с помощью Android документов.Я, вероятно, внесу это изменение после того, как все другие пути потерпели неудачу (или кто-то подтвердит, что это правда).
Если вы используете TabActivity, вам не нужно ссылаться на tabhost по идентификатору или использовать метод setup ().Я вижу, что вы используете метод setup (), но я не могу сказать, является ли ваше действие TabActivity.Если это так, возможно, это является причиной вашей проблемы.
Ниже приведен метод, который я использую для настройки макета вкладки, и он работает для меня.Обратите внимание, что здесь предполагается, что tabhost является корневым узлом макета, и он имеет android:id/tabhost
в качестве идентификатора, и это TabActivity.
код tabhost:
public class Tabs extends TabActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.your_layout);
TabHost tabHost = getTabHost();
TabHost.TabSpec spec;
spec = tabHost.newTabSpec("tag1").setIndicator("All").setContent(R.id.tab1);
tabHost.addTab(spec);
spec = tabHost.newTabSpec("tag2").setIndicator("Personal").setContent(R.id.tab2);
tabHost.addTab(spec);
}
}
Надеюсь, это поможет!(Обязательно нажмите на галочку, чтобы принять ответ, если он решит вашу проблему).