ViewPager 嵌套 fragment 中无法显示fragment中的listview内容

我在viewpager中用fragment作为加载页,然后在fragment中嵌入了一个listview,单独测试时fragment能载入listview内容,但是在viewpager中加载fragment时,无法显示listview内容,fragment其他组件能显示
viewpager 代码:
import java.util.ArrayList;
import java.util.List;

import com.nineteen.myandroid.R;

import android.app.Activity;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.text.Layout;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class AppUninstall extends FragmentActivity {
ViewPager viewPager;
// 内容页
List views = new ArrayList();
// 标题页
List titles = new ArrayList();

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.app_uninstall);
    viewPager = (ViewPager) findViewById(R.id.viewpager);
    LayoutInflater inflater = LayoutInflater.from(this);
    View view = inflater.inflate(R.id.appun_person, null);
    views.add(view);
    titles.add("个人应用");
    view = inflater.inflate(R.layout.test_relatvelayout, null);
    views.add(view);
    titles.add("系统预装");
    view = inflater.inflate(R.layout.test_button, null);
    views.add(view);
    titles.add("猜你不喜欢");
    viewPager.setAdapter(new MyPagerAdapter(views, titles));
}

class MyPagerAdapter extends PagerAdapter {
    List<View> views;
    List<String> titles;

    public MyPagerAdapter(List<View> views, List<String> titles) {
        this.views = views;
        this.titles = titles;
    }

    @Override
    public int getCount() {
        return views.size();
    }

    @Override
    public boolean isViewFromObject(View view, Object object) {
        return view == object;
    }

    // 获取到标题
    public CharSequence getPageTitle(int position) {
        return titles.get(position);

    }

    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        container.addView(views.get(position));
        return views.get(position);

    }

    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        container.removeView(views.get(position));
    }

}

}

viewpage XML: android:id="@+id/appun_viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center" >

    <android.support.v4.view.PagerTabStrip
        android:id="@+id/pager_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="top" />
</android.support.v4.view.ViewPager>

fragment代码:
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import com.nineteen.myandroid.R;

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.widget.ListView;
import android.widget.SimpleAdapter;

public class PersonApp extends FragmentActivity {
List> list = new ArrayList>();

ListView listView;
int[] icon = { R.drawable.a005, R.drawable.a006, R.drawable.a007,
        R.drawable.a008, R.drawable.a009, R.drawable.a010, R.drawable.a011,
        R.drawable.a012, R.drawable.a013, R.drawable.a014, R.drawable.a015,
        R.drawable.a016, R.drawable.a017, R.drawable.a018, R.drawable.a019 };
String[] name = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11",
        "12", "13", "14", "14" };
float[] size = { 1.10f, 1.10f, 1.1f, 1.1f, 1.1f, 1.1f, 1.1f, 1.1f, 1.1f,
        1.1f, 1.1f, 1.1f, 1.1f, 1.1f, 2.0f };

@Override
protected void onCreate(Bundle arg0) {
    super.onCreate(arg0);
    setContentView(R.layout.app_uninstall_listview);
    listView = (ListView) findViewById(R.id.app_uninstall_listview);
    List<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();

    for (int i = 0; i < icon.length; i++) {
        HashMap<String, Object> map = new HashMap<String, Object>();
        map.put("icon", icon[i]);
        map.put("name", name[i]);
        map.put("size", size[i]);
        list.add(map);

        SimpleAdapter adapter = new SimpleAdapter(this, list,
                R.layout.app_uninstallitem, new String[] { "icon", "name",
                        "size" }, new int[] { R.id.appun_imageview,
                        R.id.appun_nameview, R.id.app_unitem_size });
        listView.setAdapter(adapter);
    }

}

}

fragment XML: android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_vertical"
        android:orientation="horizontal"
        android:padding="2dp" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:text="手机内存" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="80dp"
            android:text="已用" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="1.31" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="GB" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:text="," />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="剩余" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="1.15" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="GB" />
    </LinearLayout>

    <ProgressBar
        style="@android:style/Widget.ProgressBar.Horizontal"
        android:layout_width="match_parent"
        android:layout_height="5dp"
        android:max="100"
        android:progress="52" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_vertical"
        android:orientation="horizontal"
        android:padding="2dp" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:text="SD卡" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="104dp"
            android:text="已用" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="1.31" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="GB" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:text="," />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="剩余" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="1.15" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="GB" />
    </LinearLayout>

    <ProgressBar
        style="@android:style/Widget.ProgressBar.Horizontal"
        android:layout_width="match_parent"
        android:layout_height="5dp"
        android:max="100"
        android:progress="52" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dp"
        android:padding="3dp"
        android:text="最近使用" />

    <ListView
        android:id="@+id/app_uninstall_listview"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    </ListView>
</LinearLayout>

4

1个回答

需要重新创建Adapter

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
解决viewpager+多个fragment+listview,listview展示内容高度不自适应出现多余空白问题
做项目遇到这个问题后,在网上搜了下,就找到两篇相关的,但是感觉写的有的乱,看起来不够清晰,所以整理了下完美解决这个问题,下面直接看代码。 一、重写viewpager import android.content.Context; import android.support.v4.view.ViewPager; import android.util.AttributeSet; imp...
ViewPager中嵌套Fragment不显示问题
今天遇到一个奇葩问题,原因也很令人崩溃 原来的布局文件: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" a
fragment viewpager和tablayout相互嵌套内容不显示和组件不显示问题
1.在ViewPagerAdapter中 fragment是如何查找和关联的呢,:点进super(fragmentManager) 看instantiateItem方法看如图: getItemId其实就是他的位置,makeFragmentName返回的是containerID和position组合的字符窜,方法如下: 而mFragmentManager不是getFrag
fragment中嵌套使用viewpager不显示的解决方案
private void InitViewPager(View parentView) {       mPager = (ViewPager) parentView.findViewById(R.id.vPager);       fragmentsList = new ArrayList&amp;lt;Fragment&amp;gt;();       fragment1 = new SortHotFra...
ScrollView嵌套listView和Viewpager后的显示不全解决
由于项目要求,需要在Viewpager中有一个是片段是ScrollView,而scrollView中需要嵌套另外的ViewPager跟其他如listView的视图,这里先解决下scrollView中嵌套ViewPager与listView后显示不全的问题。 xml布局文件: 自定义listView,重写他的onMeasure方法:解决listView显示不全 自定义Vie
Android多层fragment嵌套Viewpager不显示问题
Android多层fragment嵌套Viewpager不显示问题在进行多层嵌套时,复制过去的子fragment一直无法被viewpager加载显示,后面发现子的Adapter用的是 getSupportFragmentManager(),其实在子Fragment是需要用getChildFragmentManager()的,修改以后就没问题了. 需要管理相互独立的并且隶属于Activity的Fr
fragment嵌套fragment不显示问题(viewpager)
小伙伴们有没有遇到过这个问题呢? 不多废话,上我的解决办法: 我们在new PagerAdapter的时候如果是用MyPagerAdapter mAdapter = new MyPagerAdapter(mycontext.getSupportFragmentManager(), mFragmentList, mycontext);或者是: MyPagerAdapter mAdapter = n
ViewPager加载Fragment空白解决
1、说明 应用使用场景: MainActivity中有5个Tab,分别对应5个Fragment,第1个和第2个fragment中都用到了ViewPager,其内部也包含多个fragment。 问题说明: 第1个Fragment中会显示ViewPager + Fragment,第2个Fragment中也是类似的格局,但是奇怪的是第2个Fragment中ViewPager内部的Fragment...
fragment嵌套viewpager嵌套fragment二次不显示内容解决demo
这几天做项目遇到一个问题,就是有这么一个页面是activity嵌套一个fragment1然后fragment1里放了一个viewpager,viewpager里放了几个fragment,本来只有这么一个页面,显示出来也没什么问题,现在加新需求,要求点击viewpager里的一个fragment里的按钮跳转到另一个fragment,新fragment按返回按钮返回盛放viewpager的fragment,这时就出现了viewpager里的fragment二次显示的时候数据没了
Android开发ViewPager中ListView失效问题解决方法
最近开发一个Android小应用。就是利用ViewPager实现多个页面来回导航切换,每个页面是一个ListView显示多个条目。本来以为很简单的事情,左右手势实现Viewpager的切换,上下手势实现ListView的功能。谁知道在手机上运行时,发现一个焦点冲突现象。左右导航没有问题,但是在一个页面里,经常出现ListView上下手势失效。总是无法实现List的上下滚动,即使很明显的上下手势也是...
Android fragment 嵌套ViewPager 嵌套多个Fragment 页面不显示问题
getFragmentManager()或getSupportFragmentManager()所得到的是所在fragment 的父容器的管理器, getChildFragmentManager()所得到的是在fragment里面子容器的管理器。 我们在Fragment中得用getChildFragmentManager() 但是一把情况android.app.Fragment是可以直接使...
Android 4.4上viewpager +Fragment 中嵌入webview时,第一次能加载网页,后面进去不能加载
Android 4.4上viewpager +Fragment 中嵌入webview时,第一次能加载网页,后面进去不能加载,报  nativeOnDraw failed; clearing to background color.         解决办法: 在所有的Fragment里面的 onDestroyView()中添加如下代码: @Override public vo
ViewPager嵌套fragment简单使用
最近在公司没有什么新的开发任务,就复习一下以前的知识,Android大多数应用都是ViewPager+fragment实现主页面的框架结构,今天就简单的介绍一下ViewPager和fragment的简单使用。 首先看一下activity的布局: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://s
Fragment中嵌套ViewPager数据空白页异常问题分析
开题思考:Fragment放ViewPager,ViewPager里面是fragment。第一次进入没问题,再次进入ViewPager的fragment时里面内容就没了,出现数据空白页异常问题。           描述:activity中放了两个Fragment,分别为待审核页、已加入页;其中待审核fragment中利用viewpager放了三个fragment,分别为全部、审核加入、审核
关于viewpager切换listview列表数据不显示的问题
在一次项目中使用了viewpager和listview进行页面数据显示,在切换viewpager的时候会导致前面的fragment页面数据丢失,这是fragment重新加载而造成的问题,如果是固定数量viewpager,只需要指定页面数量,即可禁止重新加载:ViewPager.setOffscreenPageLimit(number);...
Android fragment嵌套viewpager ,viewpager里面放入fragment的时候,外层fragment切换回来,里层的fragment会被隐藏
这个时候 我们的pageradapter里面的fragmentManager要用childFragmentManager baseFragmentAdapter = new BaseFragmentAdapter(getChildFragmentManager(), fragmentList);//注意这个地方 fragmentmanager 不要用getSurrpotFragmentma...
ViewPager+Fragment+ListView重新加载后数据源重复问题的解决方法
今天在项目中遇到了一个问题,我的主页Activity是以ViewPager+Fragment进行构建的,其中有两个Fragment又包含了ListView,正常情况下这两个Fragment的界面如下: 但是当我从主页Activity跳转到另一个Activity,之后再返回主页Activity时,发现第一个包含ListView的Fragment的界面变成了下面这样: 很明显这是ListVi
解决NestedScrollView嵌套viewpager+fragment时无法滑动的问题
今晚在做一个demo时用到了nestedscrollview嵌套几个viewpager+fragment的组合,fragment里有各种图片和recyclerview;问题来了:NestedScrollView直接嵌套ViewPager后,如果viewPager中的fragment高度太长,会发现各个方向都无法滑动,于是我首先用了网上流行的重写viewpa...
滚动嵌套viewpager,里面的fragment高度问题(已解决)
一:先自定义我们的viewpager public class MyViewPager extends ViewPager{ private int current; private int height = 0; /** * 保存position与对于的View */ private HashMap, View> mChildrenViews = n
解决NestedScrollView中嵌套ViewPager,ViewPager内容无法正常显示问题
由于公司项目要使用下图(向上滑动收缩顶部下拉继续展示)的效果。所以使用Android中自带控件CoordinatorLayout来实现,下面滑动布局内容使用NestedScrollView来实现,NestedScrollView中嵌套了ViewPager来展示不同的Tab滑动展示,然后运行后,手机里面ViewPager始终无法正常展示,&amp;lt;android.support.v4.widget.N...
Fragment中嵌套ViewPager,ViewPager中包含多个Fragment的时候,第一个Fragment一直不显示
在Fragment中嵌套ViewPager,然后ViewPager中呈现Fragment的时候, 页面一直空白,可能的原因就是在初始化Adapter的时候使用了getFragmentManager,getFragmentManager到的是activity对所包含fragment的Manager,而如果是fragment嵌套fragment,那么就需要利用getChildFragmentManag...
关于在Fragment中使用多组ViewPager+TabLayout出现的部分Fragment不显示问题
在编写程序中我遇到了一个问题就是在第一组ViewPager+TabLayout显示正常,但是点击第二组ViewPager+TabLayout的时候出现Fragment什么都不显示。原因是我在创建ViewPagerAdapter时用的是getFragmentManager();正确的是区别 getFragmentManager(); 作用在Activity。 getChildFragmentM
ViewPager嵌套Fragment切换Fragment时不更新页面
问题: View Pager嵌套Fragment ,通过外部按钮点击切换不同的Fragment让View Pager显示不同界面。 原因: 在使用ViewPager+FragmentPagerAdapter时候,更新Fragment里数据是不起作用,FragmentPagerAdapter添加或减少Fragment时,前面的Fragment内容更新不起作用等等问题,有的做法是暴力删除
横向滑动菜单,HorizontalScrollView、fragment、Viewpager结合使用
import android.graphics.Color; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import an...
关于android app 中Viewpager中内嵌viewpager,切换第一个viewpager导致fragment中内嵌的viewpager里的fragment内容空白问题
解决方法:只需要将第二个viewpager的适配器参数将getFragmentManager修改为getChildFragmentManager。 备注: getFragmentManager()是所在fragment 父容器的碎片管理。 getChildFragmentManager()是在fragment 里面子容器的碎片管理。
解决ViewPager嵌套ViewPager滑动冲突的事件分发问题
AndroidTouch事件:(简单做个了解) dispatchTouchEvent()事件分发 默认返回false,不做处理继续分发事件,返回true,做处理不分发事件 onInterceptTouchEvent()事件拦截 默认返回false,不做处理继续执行,返回true,做处理拦截事件 onTouchEvent事件消费 默认返回false,不做处理继续传递,返回true,做处理终止...
当ViewPager 嵌套多个Fragment的时候,ViewPager如何根据Fragment的高度来自适应界面
        最近在项目中遇到这样的需求,ViewPager 需要嵌套3个Fragment界面,但是每个Fragment界面的高度都是不一样的,因此不能将ViewPager的高度写成固定值。前期,我也查看了一些网上关于这类问题的相关文章,受到启发,决定按照自己的思路在项目中来实现此类的需求,最终实现的效果也非常的理想。下面详细的说明一下我们要达到的效果,就是让Viewpager嵌套的每个页面不同...
android fragment中 ScrollView嵌套ListView以及切换时scrollView显示底部的解决
fragment中,布局使用了scrollView嵌套ListView,listView会只显示一项,解决的办法是手动计算高度 //解决ScrollView嵌套ListView只显示一行 public void setListViewHeightBasedOnChildren(ListView listView) { // 获取ListView对应的Adapter
Fragment嵌套Viewpager嵌套Fragment,切换后数据不见了解决方案....
第一次,画图,画着画着自己晕了.... 说一下吧,就是我们一般的APP都是四个底部导航,上面是四个Fragment,而Fragment是由Viewpager管理的.有的APP,Fragment里面嵌套着fragment.当我运行APP的时候,此时按钮1是选中状态,此时Fragment显示正常,当我切换底部导航时,再次切换按钮1时,数据没有了..... 解决方案: @Override pr
viewpager嵌套fragment 再嵌套
viewpager中嵌套fragment,fragment再嵌套viewpager,然后viewpager再次嵌套。
android系列学习:tab切换,fragment中嵌套listview,listview自定义item,优化以及onclick
最近做的项目实现的功能,tab切换,fragment中嵌套listview,listview自定义item,ViewHolder优化listview以及item中控件的onclick写法 1.先看效果图 这里的数据和图片我是写死的,可根据需要自己修改。下面的代码只给出电影模块,其他的类似。 2.movie_item.xml <LinearLayout xmlns:andr
Android ScrollView嵌套Viewpager嵌套ListView切换时到顶部或位置改变问题解决
Android SrrollView嵌套Viewpager嵌套ListView切换时到顶部或位置改变问题解决好了,思想+代码Activity:android:focusable="true" android:focusableInTouchMode="true"Activity时,将Scrollview下面的LinearLayout里添加以上两个属性就可以。例: <ScrollView
Android嵌套滑动控件的冲突解决和ViewPager适配当前子控件高度不留空白的办法
最近项目有一个需求,需要多层可滑动控件的嵌套展示,demo效果如下: 咋一看好像挺简单啊,不就是一个ScrollView + ViewPager + ListView吗,我开始也这样觉得,也用的这种方式实现,结果始终和效果不对劲。这里总结几点问题: 两个或两个以上的滑动控件嵌套时,如果layout_height采用的是wrap_content会造成内部滑动控件的高度不能
PullToRefreshListView中嵌套ViewPager滑动冲突的解决
PullToRefreshListView中嵌套ViewPager滑动冲突的解决最近恰好遇到PullToRefreshListView中需要嵌套ViewPager的情况,ViewPager 作为头部添加到ListView中,发先ViewPager在滑动过程中流畅性太差几乎很难左右滑动。在网上也看了很多大神的介绍,看了ViewPager的源码。其实思路很简单,只不过没有看到有教完整的说明,为了帮转像我
Fragment中listview不正常显示的解决办法
RecyclerView不调用onCreateViewHolder和onBindViewHolder 1.getItemCount()返回值&amp;lt;=0 ; 2.要设置LinearLayoutManager ; listView = view.findViewById(R.id.lv_communication); mLayoutManager = new LinearLa...
fragment嵌套viewPager中放fragment
fragment嵌套viewPager,viewpager中也是fragment切换。
ListView+Fragment+ViewPager配合,实现今日头条的效果
首先需要第三方控件PagerSlidingTabStrip-master的使用。 ListView放入Fragment,之后再放入ViewPager中。 准备工作:三方控件PagerSlidingTabStrip-master的导入,下载PagerSlidingTabStrip-master,点击File中New中的Import Module,找到PagerSlidingTabStrip-mas
彻底解决 “ViewPager+Fragment+滑动View” 产生的滑动冲突
假设场景:          ViewPager 里面的 Fragment 视图中,有一个自定义的滑动View,当用户手指在该自定的滑动View中操作时,会触发左右滑动切换ViewPager。很影响用户体验,本文章教你解决滑动冲突。   直接上代码(复制就能用):           1.在ViewPager中,我们要实时控制ViewPager是否可滑动。所以从需继承ViewPage
Fragment里面有ViewPager,ViewPager里面又嵌套Fragment,刚遇到的一个坑
在碎片嵌套碎片遇到的坑 1,在父Fragment中的onCreateView方法里面调用方法去对ViewPager进行初始化,并且new 了四个碎片的对象添加到viewpager里面 @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle s...
fragment嵌套viewpager嵌套fragment第二次加载数据不显示问题
这几天做项目遇到一个问题,就是有这么一个页面是activity嵌套一个fragment1然后fragment1里放了一个viewpager,viewpager里放了几个fragment,本来只有这么一个页面,显示出来也没什么问题,现在加新需求,要求点击viewpager里的一个fragment里的按钮跳转到另一个fragment,新fragment按返回按钮返回盛放viewpager的fragme