/ / Вміст у фрагменті виходить за межі області, коли Tabhost реалізовано у фрагменті Android? - android, android-фрагменти, фрагмент-вкладка-хост

Вміст фрагмента, який виходить за межі області, коли табухст реалізований у фрагменті Android? - android, андроїд-фрагменти, фрагмент-таб-хост

Я реалізував FragmentTabHost з трьомавкладки. Вони добре працюють при зміні вкладок. Однак вміст у кожному фрагменті вкладки виходить за межі екрану. Це виглядає так, як показано нижче:

Вміст у фрагменті переходить на вкладку, а не білу область

Нижче мій код:

Мой батьківський фрагмент Java-код:

public class TestFragment extends Fragment implements OnTabChangeListener {
private FragmentTabHost mTabHost;
private FrameLayout realtabcontent;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {

View rootView = inflater.inflate(R.layout.test_fragment, container,
false);
realtabcontent = (FrameLayout) rootView
.findViewById(R.id.realtabcontent);
mTabHost = (FragmentTabHost) rootView
.findViewById(android.R.id.tabhost);
// mTabHost.setup(getActivity(), getChildFragmentManager(),
// R.id.realtabcontent);
mTabHost.setup(getActivity(), getChildFragmentManager());
mTabHost.setOnTabChangedListener(this);
mTabHost.addTab(
mTabHost.newTabSpec("fragmentb").setIndicator("Fragment B"),
FragmentB.class, null);
mTabHost.addTab(
mTabHost.newTabSpec("fragmentc").setIndicator("Fragment C"),
FragmentC.class, null);
mTabHost.addTab(
mTabHost.newTabSpec("fragmentd").setIndicator("Fragment D"),
FragmentD.class, null);

return rootView;
}

Батьківський фрагмент XML:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.app.FragmentTabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent" >

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

</android.support.v4.app.FragmentTabHost>

Зараз дочірні фрагменти містять звичайний перегляд тексту.

Відповіді:

2 для відповіді № 1

Вам дійсно не потрібно брати FrameLayout у XML FragmentTabHost керуйте цим. Вам просто потрібно додати свій XML-ідентифікатор у способі налаштування, як показано нижче.

mTabHost.setup(getActivity(), getChildFragmentManager(),R.layout.test_fragment);