普通网友 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 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)