我不得不作罢例如用于标签活动管理 //必须有申报标签活动的数量在那里使用 package com.technosoft.Concina_Peru;
import android.app.TabActivity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.TabHost;
import android.widget.TextView;
import com.technosoft.FirstTab.FirstTab;
import com.technosoft.FourthTab.FourthTab;
import com.technosoft.SecondTab.SecondTab;
import com.technosoft.ThirdTab.ThirdTab;
public class ConcinaPeruTabbar extends TabActivity {
public static Context tabContext;
public static TabHost tabHost;
Context con;
public static String var = "";
public static Concina_Database db;
private void setupTabHost() {
tabHost = (TabHost) findViewById(android.R.id.tabhost);
tabHost.setup();
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.starttab);
tabContext = this;
con = this.getApplicationContext();
db = new Concina_Database(con);
setupTabHost();
setupTab(new TextView(this), "Inicio");
setupTab(new TextView(this), "Recetas");
setupTab(new TextView(this), "Favoritos");
setupTab(new TextView(this), "Mas");
}
private void setupTab(final View view, final String tag) {
View tabview = createTabView(tabHost.getContext(), tag);
if(tag.equals("Inicio")){
tabHost.addTab((tabHost.newTabSpec("Inicio")).setIndicator(
tabview).setContent(new Intent(this, FirstTab.class)));
}
if(tag.equals("Recetas")){
tabHost.addTab((tabHost.newTabSpec("Recetas")).setIndicator(
tabview).setContent(new Intent(this, SecondTab.class)));
}
if(tag.equals("Favoritos")){
tabHost.addTab((tabHost.newTabSpec("Favoritos")).setIndicator(
tabview).setContent(new Intent(this, ThirdTab.class)));
}
if(tag.equals("Mas")){
tabHost.addTab((tabHost.newTabSpec("Mas")).setIndicator(
tabview).setContent(new Intent(this, FourthTab.class)));
}
}
private static View createTabView(final Context context, final String text) {
View view = LayoutInflater.from(context)
.inflate(R.layout.tabs_bg, null);
TextView tv = (TextView) view.findViewById(R.id.tabsText);
ImageView iv = (ImageView) view.findViewById(R.id.imageView1);
if (text.equals("Inicio")) {
iv.setBackgroundResource(R.drawable.tab_bg_image);
}
if (text.equals("Recetas")) {
iv.setBackgroundResource(R.drawable.tab_bg_image1);
}
if (text.equals("Favoritos")) {
iv.setBackgroundResource(R.drawable.tab_bg_image2);
}
if (text.equals("Mas")) {
iv.setBackgroundResource(R.drawable.tab_bg_image3);
}
tv.setText(text);
return view;
}
}
//第一个选项卡活动定义这里
public class FirstTab extends ActivityGroup{
public static FirstTab group_FirstTab;
private ArrayList<View> history = new ArrayList<View>();
ProgressDialog PD;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
group_FirstTab = this;
View view = getLocalActivityManager().startActivity("CitiesAct", new
Intent(FirstTab.this,Inicio.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView();
replaceView(view);
}
public void replaceView(View view) {
history.add(view);
setContentView(view);
}
public void RemoveView(){
history.clear();
}
public void back(){
if(history.size() > 1) {
history.remove(history.size()-1);
setContentView(history.get(history.size()-1));
}else{
finish();
}
}
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if(keyCode == KeyEvent.KEYCODE_BACK){
group_FirstTab.back();
return true;
}
return super.onKeyDown(keyCode, event);
}
}
类似的还有另一个选项卡活动.. 现在ü想要去的意图一个标签到另一个标签活动到另一个活动标签下面的代码遵循
为前想了0标签活动1个标签活动,则使用
tab activity Class tab_0{
ConcinaPeruTabbar.tabHost.setCurrentTab(1);
}
如果u想要去一个标签activty到simaar标签activty然后用这个 查看视图=
FirstTab.group_FirstTab.getLocalActivityManager().startActivity("CitiesAct", new Intent(Inicio.this,Platos.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP).putExtra("platos", "Entradas")).getDecorView();
FirstTab.group_FirstTab.replaceView(view);
可惜的是我有一个扩展ListActivity类,我需要在其项目中的一个点击,以显示与保存另一个活动标签栏 – AMH 2012-07-13 21:41:21
我没有看到矛盾,您的ListActivity是标签活动之一吧? 即,您在TabActivity的OnCreate()中执行了此操作: 'TabHost.TabSpec tabSpec = tabHost.newTabSpec(“Your ListActivity Tag”)。setIndicator(tabView).setContent(意图启动您的ListActivity); tabHost。addTab(tabSpec);' – 2012-07-16 16:55:12
您可以在您的ListActivity中,在其 [protected void onListItemClick(ListView l,View v,int position,long id)method]中执行以下操作(http://developer.android.com/reference /android/app/ListActivity.html#onListItemClick(android.widget.ListView,%20android.view.View,%20int,%20long)) : 'MyTabActivity.tabHost.setCurrentTabByTag(“您影响到活动的标签你想去“);' – 2012-07-16 16:59:01