普通网友 2016-03-07 15:07 采纳率: 100%
浏览 7033

安卓,viewpager中什么都不显示,求指点

应该已经用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就可以获取到标题。
请问应该怎么解决?

  • 写回答

6条回答 默认 最新

  • devmiao 2016-03-07 15:08
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误