2012-09-03 99 views
0

我在android中製作標籤。目前這是我的標籤如何工作。當我點擊任何標籤時,它會將我帶到相應標籤的視圖,這很好。但讓我們說,當我點擊Profile選項卡,然後在這個profile視圖裏有一個按鈕Add New。當我點擊Add New按鈕時,它會把我看到它的視圖,但它也從視圖中刪除我不想要的選項卡。那麼即使用戶點擊任何視圖內的任何鏈接或按鈕,我如何才能使標籤始終可用?需要修復android標籤

這裏是我當前的代碼

tabs.xml

<TabHost xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@android:id/tabhost" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent"> 
<RelativeLayout 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:padding="5dp"> 
    <TabWidget 
     android:id="@android:id/tabs" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" /> 
    <FrameLayout 
     android:id="@android:id/tabcontent" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:padding="5dp" /> 
</RelativeLayout> 
</TabHost> 

Tabs.java

public class Tabs extends TabActivity { 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.tabs); 

    Resources resources = getResources(); 
    TabHost tabHost = getTabHost(); 

    Intent startUseSaldo = new Intent().setClass(this, Usesaldo.class); 
    TabSpec useSaldo = tabHost 
     .newTabSpec("UseSaldo") 
     .setIndicator("Use Saldo") 
     .setContent(startUseSaldo); 

    Intent startHistory = new Intent().setClass(this, History.class); 
    TabSpec history = tabHost 
     .newTabSpec("History") 
     .setIndicator("History") 
     .setContent(startHistory); 

    Intent startProfile = new Intent().setClass(this, Profile.class); 
    TabSpec profile = tabHost 
     .newTabSpec("Profile") 
     .setIndicator("Profile") 
     .setContent(startProfile); 

    // add all tabs 
    tabHost.addTab(useSaldo); 
    tabHost.addTab(history); 
    tabHost.addTab(profile); 

    tabHost.setCurrentTab(1); 
} 
} 

Profile.java

public class Profile extends Activity { 
Button bAddNew; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.profile); 
    bAddNew = (Button)findViewById(R.id.bAddNew); 

    bAddNew.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      Intent AddFacility = new Intent(getApplicationContext(), AddFacility.class); 
      startActivity(AddFacility); 
     } 
    }); 
} 
} 

AddFacility.java

public class AddFacility extends Activity { 

@Override 
public void setContentView(int layoutResID) { 
    // TODO Auto-generated method stub 
    super.setContentView(R.layout.add_facility); 
} 

} 

回答