Android, как взаимодействовать с вкладками фрагмента

Здравствуйте! У меня проблемы с изменением визуального представления активности фрагмента. Я создал все вкладки, но по щелчку я не знаю, как передать действие в это пустое пространство.

http://i40.tinypic.com/22bwxx.png

так что структура этого простого действия называетсяMain который просто устанавливает вид контента наmaintabholder.xml документ, который содержит представление фрагмента, который подключается к классу с именемMainNav чье представление содержимого содержит все вкладки внизу.

maintabholder.xml:

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>

<include layout="@layout/header" android:layout_alignParentTop="true"           android:id="@+id/headerArea"></include>
<fragment
    class="my.package.name.MainNav"
    android:id="@+id/fragment_tabs"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" />
</LinearLayout>

MainNav.java code snippet:

  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) 
{
    mRoot = inflater.inflate(R.layout.fragment_tabs, null);
    mTabHost = (TabHost) mRoot.findViewById(android.R.id.tabhost);
    setupTabs();
    return mRoot;
}

и R.layout.fragment_tabs:

<?xml version="1.0" encoding="utf-8"?>
<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"
android:background="#EFEFEF">

<RelativeLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <TabWidget
        android:id="@android:id/tabs"
        android:layout_alignParentBottom="true"
        android:layout_width="fill_parent"
        android:background="@drawable/tab_background"
        android:gravity="center_horizontal"
        android:layout_height="wrap_content" >
    </TabWidget>

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"

            android:layout_height="wrap_content">

            <FrameLayout
                android:id="@+id/tab_1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />

            <FrameLayout
                android:id="@+id/tab_2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
             <FrameLayout
                android:id="@+id/tab_3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
              <FrameLayout
                android:id="@+id/tab_4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
               <FrameLayout
                android:id="@+id/tab_5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />

        </FrameLayout>
</RelativeLayout>

и, наконец, содержимое действия, которое я хочу загрузить во фрагмент (после нажатия кнопки tab1)

 public class HomeFragment extends Activity {


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.home);

    }
 }

Это поможет вам понять суть вещей, но проблема возникает здесь, в MainNav.java:

  @Override
   public void onTabChanged(String tabId) {
        Log.d(TAG, "onTabChanged(): tabId=" + tabId);
        if (TAB_HOME.equals(tabId)) {
            updateTab(tabId, R.id.tab_1);
            mCurrentTab = 0;
            return;
        }
   }

при нажатии на вкладку она регистрируется вonTabChanged деятельность, аupdateTab функция называется:

   private void updateTab(String tabId, int placeholder) {
        FragmentManager fm = getFragmentManager();
        if (fm.findFragmentByTag(tabId) == null) {
            //fm.beginTransaction()
             //      .replace(placeholder, /*need fragment object here*/ , tabId)
             //       .commit();
            //
        }
}

закомментированныйreplace метод ищет(int, fragment, string) и я думаю, что это должно изменить пробел для меня.

но я не понимаю, откуда взять фрагмент объекта! Этот призрачный объект должен как-то содержать мойHomeFragmentмакет XML и позвольте мне взаимодействовать со всем остальным, что я написал дляHomeFragment деятельность.

Моя первая догадка, что мойHomeFragment деятельность должнаextend FragmentActivity вместо того, чтобы просто деятельность. Но это где я бью стену.

Существует очень мало документации по методам пакета совместимости, но в документации для TabActivity сказано, что больше не следует использовать TabActivity, поэтому я здесь. Разработка для Android 2.2+

Проницательность ценится.

Ответы на вопрос(1)

Ваш ответ на вопрос