0

再会。我有一些问题。我有左侧列表视图和右侧详细视图的应用程序。在右视图中,我有一个带有标签主机的片段。但我也想为所有标签添加活动。例如:我在左侧有客户列表。在右边我有标签:“客户评论”,“客户照片”,“客户信息” 在客户评论中,我需要在活动中为该客户提供评论,并有可能添加新评论。我已经制作了一个列表视图和详细信息,但是我在将选项卡主机集成到其中时遇到了问题。所以我有什么。这是我的详细代码片段

 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>
4

1 回答 1

1

在片段内添加带有活动的选项卡主机

您不能将活动放入片段中!据我了解-您想将TabActivity不同的(不推荐使用)activities放入您的主要活动的根目录Fragment中-这种方式是绝对错误的。

实现您需要的一种方法是:

  1. 创建一个FragmentActivity
  2. 将 TabWidget 放入FragmentActivity.
  3. 然后将不同Fragments的选项放入 TabWidget 的选项卡中。

您可以在另一个主题(链接)中查看我与代码示例类似的答案。

于 2012-09-13T08:28:04.540 回答