首先在 ActivityGroup里加了。。tabhost 。然后再tabhost理想家ListView
下面是ActivityGroup
public class MyActivityGroupDemo extends ActivityGroup {
private GridView gridviewToolbar; // 工具菜单栏
private MenuImageAdapter menu = null; // 图片适配器
private LinearLayout content = null; // 填充内容
private int menu_img[] = new int[] { R.drawable.tu1,
R.drawable.tu2, R.drawable.tu3, R.drawable.tu4,
R.drawable.tu5 }; // 填充的图片的资源
private int width = 0; // 求出平均的宽度
private int height = 0; // 求出平均的高度,定位显示
private Intent intent = null; @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.requestWindowFeature(Window.FEATURE_NO_TITLE); // 取消标题
super.setContentView(R.layout.main);
this.gridviewToolbar = (GridView) super.findViewById(R.id.gridviewbar);
this.content = (LinearLayout) super.findViewById(R.id.content); // 定义工具栏的一些信息显示
this.gridviewToolbar.setNumColumns(this.menu_img.length); // 求出可以保存的个数
this.gridviewToolbar.setSelector(new ColorDrawable(Color.TRANSPARENT));
this.gridviewToolbar.setGravity(Gravity.CENTER);
this.gridviewToolbar.setVerticalSpacing(0); this.width = super.getWindowManager().getDefaultDisplay().getWidth()
/ this.menu_img.length;
this.height = super.getWindowManager().getDefaultDisplay().getHeight() / 8; this.menu = new MenuImageAdapter(this, this.menu_img, this.width,
this.height, R.drawable.menu_selected);
this.gridviewToolbar.setAdapter(this.menu);
this.switchActivity(0); // 第一个被选中
this.gridviewToolbar
.setOnItemClickListener(new OnItemClickListenerImpl());
} private class OnItemClickListenerImpl implements OnItemClickListener { @Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
MyActivityGroupDemo.this.switchActivity(position);
}
} private void switchActivity(int id) { // 切换选中的操作
this.menu.setFocus(id); // 设置选中图片的背景
this.content.removeAllViews(); // 删除所有的内容
switch (id) {
case 0:
this.intent = new Intent(MyActivityGroupDemo.this, MyActivity.class);
break;
case 1:
this.intent = new Intent(MyActivityGroupDemo.this, MyActivity2.class);
break;
case 2:
this.intent = new Intent(MyActivityGroupDemo.this, MyActivity3.class);
break;
case 3:
this.intent = new Intent(MyActivityGroupDemo.this, MyActivity4.class);
break;
case 4:
this.exitDialog() ;
return;
}
this.intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Window subActivity = super.getLocalActivityManager().startActivity(
"subActivity", this.intent);
this.content.addView(subActivity.getDecorView(),
LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
} public void exitDialog() {
Dialog dialog = new AlertDialog.Builder(this).setIcon(R.drawable.pic_m)
.setTitle("程序退出? ").setMessage("您确定要退出本程序吗?")
.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) {
MyActivityGroupDemo.this.finish() ;
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) {
MyActivityGroupDemo.this.switchActivity(0);
}
}).create(); dialog.show();
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK) {
this.exitDialog() ;
}
return false ;
}

}
下面是  ActivityGroup 里嵌套的 TabHost代码import android.app.AlertDialog;
import android.app.Dialog;
import android.app.TabActivity;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.widget.TabHost;
import android.widget.TabHost.OnTabChangeListener;public class MyActivity extends TabActivity
{
    //声明TabHost对象
    TabHost mTabHost;
   
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
       
        //取得TabHost对象
        mTabHost = getTabHost();
       
       
        //新建一个newTabSpec(newTabSpec)
        //设置其标签和图标(setIndicator)
        //设置内容(setContent)
        LayoutInflater.from(this).inflate(R.layout.tablist,
this.mTabHost.getTabContentView(), true);
        mTabHost.addTab(mTabHost.newTabSpec("tab_test1")
                .setIndicator("最新",getResources().getDrawable(R.drawable.img1))
                .setContent(R.id.tablist));
        
        LayoutInflater.from(this).inflate(R.layout.tablist2,
this.mTabHost.getTabContentView(), true);
        mTabHost.addTab(mTabHost.newTabSpec("tab_test2")
                .setIndicator("top100",getResources().getDrawable(R.drawable.img2))
                .setContent(R.id.tablist2));
        
        LayoutInflater.from(this).inflate(R.layout.tablist3,
this.mTabHost.getTabContentView(), true);
        mTabHost.addTab(mTabHost.newTabSpec("tab_test3")
                .setIndicator("MV",getResources().getDrawable(R.drawable.img3))
                .setContent(R.id.tablist3));
        
        LayoutInflater.from(this).inflate(R.layout.tablist4,
this.mTabHost.getTabContentView(), true);
        mTabHost.addTab(mTabHost.newTabSpec("tab_test4")
                .setIndicator("搜索",getResources().getDrawable(R.drawable.img3))
                .setContent(R.id.tablist4));
       
        //设置TabHost的背景颜色
        mTabHost.setBackgroundColor(Color.argb(150, 22, 70, 150));
        //设置TabHost的背景图片资源
        //mTabHost.setBackgroundResource(R.drawable.bg0);
       
        //设置当前显示哪一个标签
        mTabHost.setCurrentTab(0);
       
        //标签切换事件处理,setOnTabChangedListener
        
    }
}