我创建了一个TabActivity,并在布局中添加了TabWidget和框架。
我在每个Activity中有四个其他具有单个标签的Activity类。四个选项卡与四个选项卡相关联。
当我尝试在模拟器中启动应用程序时,我收到以下异常
09-03 23:24:43.905:ERROR / AndroidRuntime(450): java.lang.NullPointerException 09-03 23:24:43.905: 错误/ AndroidRuntime(450):at android.widget.TabHost.dispatchWindowFocusChanged(TabHost.java:295) 09-03 23:24:43.905:ERROR / AndroidRuntime(450):at android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:661) 09-03 23:24:43.905:ERROR / AndroidRuntime(450):at android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:661)
public class TabHome extends TabActivity {
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TabHost tabHost=getTabHost();
TabHost.TabSpec tabSpec;
Resources res=getResources();
Intent intent;
intent=new Intent().setClass(this, MyMap.class);
tabSpec= tabHost.newTabSpec("Maps").setIndicator("Maps",res.getDrawable(R.drawable.ic_tab_artists)).setContent(intent);
tabHost.addTab(tabSpec);
intent=new Intent().setClass(this, MyStash.class);
tabSpec= tabHost.newTabSpec("Stash").setIndicator("Stash",res.getDrawable(R.drawable.ic_tab_artists)).setContent(intent);
tabHost.addTab(tabSpec);
intent=new Intent().setClass(this, MyList.class);
tabSpec= tabHost.newTabSpec("List").setIndicator("List",res.getDrawable(R.drawable.ic_tab_artists)).setContent(intent);
tabHost.addTab(tabSpec);
intent=new Intent().setClass(this, MySearch.class);
tabSpec= tabHost.newTabSpec("Search").setIndicator("Search",res.getDrawable(R.drawable.ic_tab_artists)).setContent(intent);
tabHost.addTab(tabSpec);
tabHost.setCurrentTab(2);
}
答案 0 :(得分:0)
我错过了向main.xml提及以下属性
TabHost标签中的android:id =“@ android:id / tabhost”
和
TabWidget标签中的android:id =“@ android:id / tabs”
和
FrameLayout标签中的android:id =“@ android:id / tabcontent”。
感谢大家的帮助!