#java #android #xml #tabs #fragment
#java #Android #xml #вкладки #фрагмент
Вопрос:
Я прочитал здесь много вопросов о вкладках во фрагменте и сделал все, что описано здесь: https://developer.android.com/reference/android/support/v4/app/FragmentTabHost.html
я не получил никакой ошибки, и приложение не вылетает или что-то в этом роде, но фрагмент просто пуст. Класс JobFragment представляет собой простой фрагмент с одной меткой, но он не отображается. вот мой Java-код:
import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTabHost;
import android.support.v4.view.ViewPager;
import android.support.v7.widget.Toolbar;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class AutoFragment extends Fragment{
private FragmentTabHost mTabHost;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
mTabHost = new FragmentTabHost(getActivity());
mTabHost.setup(getActivity(), getChildFragmentManager(), R.layout.fragment_auto);
mTabHost.addTab(mTabHost.newTabSpec("simple").setIndicator("Simple"),
JobFragment.class, null);
mTabHost.addTab(mTabHost.newTabSpec("contacts").setIndicator("Contacts"),
JobFragment.class, null);
mTabHost.addTab(mTabHost.newTabSpec("custom").setIndicator("Custom"),
JobFragment.class, null);
mTabHost.addTab(mTabHost.newTabSpec("throttle").setIndicator("Throttle"),
JobFragment.class, null);
return mTabHost;
}
@Override
public void onDestroyView() {
super.onDestroyView();
mTabHost = null;
}
}
и вот мой макет xml
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
</FrameLayout>
</LinearLayout>
</android.support.v4.app.FragmentTabHost>
Комментарии:
1. можете ли вы опубликовать полный макет и mainactivity? Я думаю, вам не хватает начальной вкладки для </android.support.v4.app.FragmentTabHost>. Также вы правильно кодируете MainActivity, подобный описанному здесь : maxalley.wordpress.com/2013/05/18 /…
Ответ №1:
Попробуйте изменить эту строку на:
mTabHost.setup(getActivity(), getSupportFragmentManager(), R.layout.fragment_auto);