在上一篇http://blog.csdn.net/woshishuoshuoa/article/details/9664231中较为详细地描述了如何在xml中配置TabHost,那么在acticity中如何使用TabHost以实现很方便地在不同的Activity间切换呢,这里在上一篇的基础给出MainAcitivity中源代码,如下:
import android.app.TabActivity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TabHost;
import android.widget.TabHost.TabSpec;
public class MainActivity extends TabActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 取得TabHost对象
TabHost tabHost=getTabHost();
// 为TabHost添加标签
Intent intent=new Intent(MainActivity.this,MusicListActivity.class);
TabSpec tabSpecMusic=tabHost.newTabSpec("music").setContent(intent);
tabSpecMusic.setIndicator("音乐",getResources().getDrawable(R.drawable.music));
tabHost.addTab(tabSpecMusic);
TabSpec tabSpecAlbum=tabHost.newTabSpec("album").setContent(intent);
tabSpecAlbum.setIndicator("专辑",getResources().getDrawable(R.drawable.album));
tabHost.addTab(tabSpecAlbum);
TabSpec tabSpecArtist=tabHost.newTabSpec("aritist").setContent(intent);
tabSpecArtist.setIndicator("歌手",getResources().getDrawable(R.drawable.item));
tabHost.addTab(tabSpecArtist);
TabSpec tabSpecLast=tabHost.newTabSpec("last").setContent(intent);
tabSpecLast.setIndicator("最近播放",getResources().getDrawable(R.drawable.last));
tabHost.addTab(tabSpecLast);
// 设置当前显示哪一个标签
tabHost.setCurrentTab(0);
}
}
另外还要有一个MusicListActivity,可以为空,但一定要有,否则新增的四个图标是出不来的。因为图标下方的区域就是存放对应的acticity中的东西的,所以可以为空,但绝对不可以没有!!!
import android.app.ListActivity;
public class MusicListActivity extends ListActivity{
}
结果图: