2012-09-13 38 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。 –