2012-09-13 88 views
0

美好的一天。我有一些問題。 我有左側的listview和右側的細節視圖的應用程序。在右側視圖中,我有一個帶有標籤主機的片段。但我也想爲所有標籤添加活動。例如: 我有客戶名單在左邊。 在正確的我有標籤:「客戶評論」,「客戶照片」,「客戶信息」 在客戶評論我需要在活動中爲此客戶評論,並有可能添加新的評論。 我已經提出了一個列表視圖和詳細信息,但是我在集成選項卡主機中遇到了問題。所以我有。這裏有活動我的細節片段的代碼添加標籤主機與片段內的活動

public class ItemDetailFragment extends Fragment { 

     public static final String ARG_ITEM_ID = "item_id"; 

     DummyContent.DummyItem mItem; 
     private Activity lo_parentAct; 



     public ItemDetailFragment() { 
     } 

     @Override 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      if (getArguments().containsKey(ARG_ITEM_ID)) { 
       mItem = DummyContent.ITEM_MAP.get(getArguments().getString(ARG_ITEM_ID)); 
      } 
     } 

     @Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup container, 
       Bundle savedInstanceState) { 
      View rootView = inflater.inflate(R.layout.fragment_item_detail, container, false); 
      if (mItem != null) { 
       Intent lv_intent; 
      // ((TextView) rootView.findViewById(R.id.item_detail)).setText(mItem.content); 
       TabHost tabHost=(TabHost)rootView.findViewById(R.id.tabHost); 
       tabHost.setup(); 

       TabSpec spec1=tabHost.newTabSpec("Tab 1"); 
       spec1.setIndicator("Общая информация"); 
       lo_parentAct = this.getActivity(); 
       lv_intent = new Intent(lo_parentAct, ClientInfoActivity.class); 

       TabSpec spec2=tabHost.newTabSpec("Tab 2"); 
       spec2.setIndicator("Заметки"); 
       lv_intent = new Intent(lo_parentAct, ClientCommentsActivity.class); 

       TabSpec spec3=tabHost.newTabSpec("Tab 3"); 
       spec3.setIndicator("Фото"); 
       lv_intent = new Intent(lo_parentAct, ClientPhotosActivity.class); 


       tabHost.addTab(spec1); 
       tabHost.addTab(spec2); 
       tabHost.addTab(spec3); 

      } 
      return rootView; 
     } 
    } 

的佈局

<TabHost android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:id="@+id/tabHost" 
      xmlns:android="http://schemas.android.com/apk/res/android" 
      > 
     <TabWidget 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:id="@android:id/tabs" 
      /> 
      <FrameLayout 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:id="@android:id/tabcontent" 
      > 
       <LinearLayout 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:id="@+id/tab1" 
        android:orientation="vertical" 
        android:paddingTop="60px" 
       > 
      <TextView 
      android:layout_width="fill_parent" 
      android:layout_height="100px" 
      android:text="This is tab1" 
      android:id="@+id/txt1" 
      />  

    </LinearLayout> 

    <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:id="@+id/tab2" 
      android:orientation="vertical" 
      android:paddingTop="60px" 
      > 
     <TextView 
       android:layout_width="fill_parent" 
       android:layout_height="100px" 
       android:text="This is tab 2" 
       android:id="@+id/txt2" 
       /> 

    </LinearLayout> 

     <LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:id="@+id/tab3" 
    android:orientation="vertical" 
    android:paddingTop="60px" 
    > 
      <TextView 
      android:layout_width="fill_parent" 
      android:layout_height="100px" 
      android:text="This is tab 3" 
      android:id="@+id/txt3" 
      /> 

    </LinearLayout> 
    </FrameLayout> 

    </TabHost> 

回答

1

附加選項卡主機內部的片段

你不能把活動變成碎片! 據我所知 - 你想把TabActivity(這是棄用)與不同activities到你的主要活動的根Fragment - 這種方式是絕對錯誤的。實現你所需要的

一種方法是:

  1. 創建一個FragmentActivity
  2. 將TabWidget放入您的FragmentActivity的根佈局。
  3. 然後把不同的Fragments放到你的TabWidget的選項卡中。

你可以看看我的代碼示例類似的回答到另一個theme (link)

+0

但如果我有「SplitView」應用程序? – nabiullinas

+0

好的,你有SplitView應用程序。所以呢?你可以說得更詳細點嗎?你到底需要什麼?現在你的問題是絕對不清楚的。 –

+0

andriod中沒有'SplitView'。但是你可以通過android'Fragment's實現像SplitView一樣的iOS。 –