Android 我能';我看不到我为每个片段做的任何布局。I';我用片段、页面视图和表格布局制作SwipeView
下面是我的MainActivity、适配器和一个片段作为示例。应用程序本身正在运行,片段本身也创建得很好,但PagerView上没有显示任何内容。如果有人能帮我度过难关,我将非常感激 这是MainActivity.javaAndroid 我能';我看不到我为每个片段做的任何布局。I';我用片段、页面视图和表格布局制作SwipeView,android,android-fragments,Android,Android Fragments,下面是我的MainActivity、适配器和一个片段作为示例。应用程序本身正在运行,片段本身也创建得很好,但PagerView上没有显示任何内容。如果有人能帮我度过难关,我将非常感激 这是MainActivity.java public class MainActivity extends AppCompatActivity { private PagerAdapter mSectionsPagerAdapter; private ViewPager mViewPager; private
public class MainActivity extends AppCompatActivity {
private PagerAdapter mSectionsPagerAdapter;
private ViewPager mViewPager;
private TabLayout tabLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mSectionsPagerAdapter = new PagerAdapter(getSupportFragmentManager());
HomeFragment homeFragment = new HomeFragment();
FreeFragment freeFragment = new FreeFragment();
ExpFragment expFragment = new ExpFragment();
SettingsFragment settingsFragment = new SettingsFragment();
mSectionsPagerAdapter.addFragment(homeFragment);
mSectionsPagerAdapter.addFragment(freeFragment);
mSectionsPagerAdapter.addFragment(expFragment);
mSectionsPagerAdapter.addFragment(settingsFragment);
mViewPager = findViewById(R.id.container);
mViewPager.setAdapter(mSectionsPagerAdapter);
tabLayout = findViewById(R.id.tabs);
mViewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
tabLayout.addOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(mViewPager));
}
}
这是一个示例片段源
public class HomeFragment extends Fragment {
public HomeFragment() {
}
public static HomeFragment newInstance() {
HomeFragment fragment = new HomeFragment();
return fragment;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_home, container,
false);
return rootView;
}
}
这是适配器源
public class PagerAdapter extends FragmentPagerAdapter {
private final List<Fragment> mFragments = new ArrayList<Fragment>();
public PagerAdapter(FragmentManager fm) {
super(fm);
}
public void addFragment(Fragment fragment) {
mFragments.add(fragment);
notifyDataSetChanged();
}
@Override
public Fragment getItem(int position) {
return mFragments.get(position);
}
@Override
public int getCount() {
return mFragments.size();
}
}
公共类PagerAdapter扩展了FragmentPagerAdapter{
私有最终列表MFFragments=new ArrayList();
公共页雷达(碎片管理器fm){
超级(fm);
}
公共void addFragment(片段片段){
添加(片段);
notifyDataSetChanged();
}
@凌驾
公共片段getItem(int位置){
返回mFragments.get(位置);
}
@凌驾
public int getCount(){
返回mffragments.size();
}
}
布局文件在这里,第一个是片段的布局
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/constraintLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
这是一个主要活动
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context=".MainActivity">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:paddingTop="@dimen/appbar_padding_top"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.design.widget.TabItem
android:id="@+id/tabItem"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/tab_text_1" />
<android.support.design.widget.TabItem
android:id="@+id/tabItem2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/tab_text_2" />
<android.support.design.widget.TabItem
android:id="@+id/tabItem3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/tab_text_3" />
<android.support.design.widget.TabItem
android:id="@+id/tabItem4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tab 4" />
</android.support.design.widget.TabLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</android.support.design.widget.CoordinatorLayout>
请添加足够的代码,以便我们重现错误。对于Android,这意味着:如果你有“我的视图在哪里?”类型的问题,请始终添加布局文件。这是你应用程序的全部内容吗?因为一切似乎都井然有序。也许问题出在别的地方。谢谢大家。这不是一个真正的应用程序,但它是用来测试功能的@0x0nosugr,我添加了布局文件。你能看一下吗?@Luis Henriques,是的,他们看起来很正常。事实上,它昨天在我的原始应用程序中起了作用。我没有碰任何东西,我重新打开它继续进行,但布局突然消失了。也许我错过了什么,但我不知道是什么。请帮助我。如果您使用,您可以看到带有按钮的片段位于选项卡下的某个位置。另一方面,<<代码> Tab <代码> S位于屏幕的底部,中间是一个很大的空白空间。是否希望页面显示在选项卡的上方?