在android手机应用布局中,qq客户端标签栏,新浪微博主页等用TabActivity布局可以方便的进行Activity的切换。寒假期间,在模拟qq客户端标签栏布局开发上,第一次尝试了TabActivity的开发。
程序实现了“好友”,“讨论组”,“群”三个子活动界面,在TabActivity中调用三个活动,以“群”Activity作为欢迎页,TabActivity代码如下:
1 public class MainActivity extends TabActivity { 2 3 @Override 4 public void onCreate(Bundle savedInstanceState){ 5 super.onCreate(savedInstanceState); 6 setContentView(R.layout.activity_main); 7 8 TabHost tabHost = getTabHost(); 9 TabHost.TabSpec spec; 10 Intent i; 11 12 i=new Intent(this,MyFriendActivity.class); 13 spec=tabHost.newTabSpec("1").setIndicator("好友").setContent(i); 14 tabHost.addTab(spec); 15 16 i=new Intent(this,MyGroupActivity.class); 17 spec=tabHost.newTabSpec("2").setIndicator("群").setContent(i); 18 tabHost.addTab(spec); 19 20 i= new Intent(this,MyDiscussionActivity.class); 21 spec=tabHost.newTabSpec("0").setIndicator("讨论组").setContent(i); 22 tabHost.addTab(spec); 23 tabHost.setCurrentTab(1); 24 } 25 }
运行程序,出现“程序已终止运行”的提示。
经过百度搜索,发现在AndroidManifest.xml中缺少“Group”,“Friend”,“Dicussion”活动的配置。而原来的想法是用TabActivity调用了这些活动,不必要进行配置。对子活动的配置代码如下:
1 <activity 2 android:name="com.example.qq.MyDiscussionActivity"> 3 </activity> 4 5 <activity 6 android:name="com.example.qq.MyFriendActivit"/> 7 8 <activity 9 android:name="com.example.qq.MyGroupActivity"/>
最终正常运行结果如下: