Панель действий Android Tab

Я пробовал на панели действий Android 3.0, где я ссылаюсь на

Код в TabsActivity следующим образом:

 package com.test.actionbar; import android.app.ActionBar; import android.app.ActionBar.Tab; import android.app.Activity; import android.app.Fragment; import android.app.FragmentTransaction; import android.os.Bundle; public class TabsActivity extends Activity{ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ActionBar bar = getActionBar(); bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); ActionBar.Tab tabA = bar.newTab().setText("A Tab"); ActionBar.Tab tabB = bar.newTab().setText("B Tab"); ActionBar.Tab tabC = bar.newTab().setText("C Tab"); Fragment fragmentA = new AFragmentTab(); Fragment fragmentB = new BFragmentTab(); Fragment fragmentC = new CFragmentTab(); tabA.setTabListener(new MyTabsListener(fragmentA)); tabB.setTabListener(new MyTabsListener(fragmentB)); tabC.setTabListener(new MyTabsListener(fragmentC)); bar.addTab(tabA); bar.addTab(tabB); bar.addTab(tabC); } protected class MyTabsListener implements ActionBar.TabListener { private Fragment fragment; public MyTabsListener(Fragment fragment) { this.fragment = fragment; } public void onTabReselected(Tab tab, FragmentTransaction ft) { // TODO Auto-generated method stub } public void onTabSelected(Tab tab, FragmentTransaction ft) { // TODO Auto-generated method stub ft.add(R.id.fragment_container, fragment, null); } public void onTabUnselected(Tab tab, FragmentTransaction ft) { // TODO Auto-generated method stub } } } 

Для пошагового руководства, однако, после завершения учебника, я понял, что в TabsActivity, в методе onTabSelected, для него потребуется переменная, которая является container_id, и я не слишком уверен, как я могу ее подавать даже после просмотра На api. Я попытался удалить строку и запустить ее на планшете, но это избавляет меня от времени выполнения.

Кто-нибудь может мне с этим помочь?

Извините, я новичок в программировании на Android, если вопрос звучит слишком просто.

Заранее спасибо.

РЕДАКТИРОВАТЬ

 import android.app.ActionBar; import android.app.Activity; import android.app.Fragment; import android.os.Bundle; public class ActionBarTabs extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ActionBar bar = getActionBar(); bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); ActionBar.Tab tabA = bar.newTab().setText("A Tab"); ActionBar.Tab tabB = bar.newTab().setText("B Tab"); ActionBar.Tab tabC = bar.newTab().setText("C Tab"); bar.addTab(tabA); bar.addTab(tabB); bar.addTab(tabC); } } 

ОБНОВИТЬ

 package com.debug.actionbartabs; import android.app.ActionBar; import android.app.Activity; import android.os.Bundle; public class TabsActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ActionBar bar = getActionBar(); bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); ActionBar.Tab tabA = bar.newTab().setText("A Tab"); bar.addTab(tabA); } } 

Solutions Collecting From Web of "Панель действий Android Tab"

Каждый из классов должен выглядеть так:

 public class AFragmentTab extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment_a, container, false); } } 

И основное действие должно выглядеть так:

 package com.test.actionbar; import android.app.ActionBar; import android.app.ActionBar.Tab; import android.app.Activity; import android.app.Fragment; import android.app.FragmentTransaction; import android.os.Bundle; public class TabsActivity extends Activity{ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ActionBar bar = getActionBar(); bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); ActionBar.Tab tabA = bar.newTab().setText("A Tab"); ActionBar.Tab tabB = bar.newTab().setText("B Tab"); ActionBar.Tab tabC = bar.newTab().setText("C Tab"); Fragment fragmentA = new AFragmentTab(); Fragment fragmentB = new BFragmentTab(); Fragment fragmentC = new CFragmentTab(); tabA.setTabListener(new MyTabsListener(fragmentA)); tabB.setTabListener(new MyTabsListener(fragmentB)); tabC.setTabListener(new MyTabsListener(fragmentC)); bar.addTab(tabA); bar.addTab(tabB); bar.addTab(tabC); } protected class MyTabsListener implements ActionBar.TabListener { private Fragment fragment; public MyTabsListener(Fragment fragment) { this.fragment = fragment; } public void onTabReselected(Tab tab, FragmentTransaction ft) { } public void onTabSelected(Tab tab, FragmentTransaction ft) { ft.add(R.id.fragment_container, fragment, null); } public void onTabUnselected(Tab tab, FragmentTransaction ft) { // some people needed this line as well to make it work: ft.remove(fragment); } } 

Я просто нашел копию своего кода здесь: http://www.abelski.com/courses/android3ui/actionbar.pdf > _ <Итак, в main.xml выглядит так:

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <LinearLayout android:layout_height="wrap_content" android:layout_width="match_parent" android:id="@+id/fragment_container"></LinearLayout> </LinearLayout>