应该已经用fragmentPagerAdapter设置好了fragment,可是viewpager set了adapter后,什么都没有。
先上图:
下面是content_main,在其中添加了viewpager的组件
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent"
android:layout_height="match_parent"
tools:showIn="@layout/activity_main" tools:context=".MainActivity"
android:id="@+id/drawerlayout">
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<ListView
android:id="@+id/listview"
android:layout_width="240dp"
android:layout_height="match_parent"
android:background="#ff6666"
android:layout_gravity="left">
</ListView>
</android.support.v4.widget.DrawerLayout>
下面是FragmentPagerAdapter:
public class MyFragmentPagerAdapter extends FragmentPagerAdapter
{
List<Fragment> list;
String[] titles;
public Fragment getItem(int position)
{
return list.get(position);
}
public int getCount()
{
return list.size();
}
MyFragmentPagerAdapter(FragmentManager fm,List<Fragment> list,String[] titles)
{
super(fm);
this.list=list;
this.titles=titles;
}
public CharSequence getPageTitle(int position)
{
return titles[position];
}
}
下面是mainActivity中的与viewpager有关的部分:
List<Fragment> listFragment=new ArrayList<Fragment>();
listFragment.add(f1);
listFragment.add(f2);
listFragment.add(f3);
listFragment.add(f4);
listFragment.add(f5);
viewPager=(ViewPager)super.findViewById(R.id.viewpager);
fragmentPagerAdapter=new MyFragmentPagerAdapter(getSupportFragmentManager(),listFragment,new String[]{"标签1","标签2","标签3","标签4","标签5"});
viewPager.setAdapter(fragmentPagerAdapter);
tabLayout=(TabLayout)super.findViewById(R.id.tablayout);
for(int i=0;i<5;i++)
{
tabLayout.addTab(tabLayout.newTab());
}
tabLayout.setTabMode(TabLayout.MODE_FIXED);
tabLayout.setupWithViewPager(viewPager);
下面是填充viewpager第一页的fragment1的代码:
public class Fragment1 extends Fragment
{
RecyclerView recyclerView;
MyAdapter myAdapter;
public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanced)
{
View v=inflater.inflate(R.layout.fragment1,container,false);
myAdapter=new MyAdapter(getActivity());
recyclerView=(RecyclerView)v.findViewById(R.id.recyclerview);
LinearLayoutManager linearLayoutManager=new LinearLayoutManager(getActivity());
linearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
recyclerView.setLayoutManager(linearLayoutManager);
recyclerView.setAdapter(myAdapter);
return v;
}
}
从上图已可见,这部分内容是不显示的,以下是viewpager第二页的fragment2:
public class Fragment2 extends Fragment
{
public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanced)
{
View v=inflater.inflate(R.layout.fragment2,container,false);
return v;
}
}
后面的fragment与此fragment类似,就不贴了。viewpager中什么都没有,但是从上面MainActivity中的setupWithViewPager的tabLayout就可以获取到标题。
请问应该怎么解决?