Articles of android viewpager

ViewPager片段娱乐,恢复但不可见

我有一个ViewPager + FragmentPageAdapter的问题。 场景:我在片段A中有一个活动。片段A有一个带有片段B1和片段B2的ViewPager。 B1 e B2是相同的类,但不同的数据作为参数。 问题:创建时一切都很好。 但是当应用程序进入后台并且进程被android杀死时,尝试恢复最后状态,再次启动应用程序,片段B1 e B2在前景中不可见,而片段A是。 有点奇怪的是,片段B1和B2在片段A的ChildFragmentManager中,并且由于onStart()和onResume()被调用(由Log看到)而被恢复。 此外,寻呼机恢复两页,但空或更好,没有任何可见。 如果我很清楚FragmentPagerAdapter是如何工作的,那么它应该负责管理自己的片段以及如何重新创建片段。 此外,为了强制执行这一点,如果已经存在具有指定标记的该位置的片段,则FragmentPagerAdapter在从后台返回时不会调用getItem(int position)。 …那么为什么我看不到Fragment B1 e B2,只有传呼机空了? 这是我的示例代码。 FragmentA @Override public void onStart() { super.onStart(); populateViewPager(); } private void populateViewPager() { pager.setAdapter(new MyFragmentPageAdapter(getChildFragmentManager())); indicator.setViewPager(pager); indicator.notifyDataSetChanged(); } FragmentPagerAdapter public class MyFragmentPageAdapter extends FragmentPagerAdapter { public MyFragmentPageAdapter(FragmentManager fm) { super(fm); } @Override public Fragment […]

在ScrollViews中使用带有ViewPagers的ScrollViews的Android ViewPager

所以我的活动有一个主ViewPager,在ViewPager里面,每个页面都有一个ScrollView的内容,而在ScrollView里面还有另一个ViewPager。 这可能听起来很疯狂,但基本上外部的ViewPager包含新闻文章,文章很长,所以有一个ScrollView,在ScrollView中有多个缩略图/图片,他们也可以刷过。 我尝试了一些不同的自定义ViewPagers,它们具有不同的触摸事件拦截,但似乎无法完美。 它要么完全吸收所有触摸事件,要么ScrollView的垂直滚动在该区域不起作用,否则将使内部水平滚动非常敏感/困难。 有人有完美的解决方案吗?

使用通用图像加载程序查看寻呼机内存不足错误

我不确定带有通用图像加载器的ViewPager是否可以/应该用作类似接口的库,因为我在从SD卡加载图像并以全屏模式查看时遇到内存不足错误。 无论数字是多少,它都适用于GridView,但在查看寻呼机中查看图像时,每个位图都会占用大量内存,在10个左右的图像之后,它会出现内存不足错误。 我已经看到这里发布的几乎所有问题都与使用Universal Image Loader时的内存不足错误有关,并且在每一个问题中都存在配置错误。 我不知道我是否使用了错误的配置或什么,但我浪费了很多时间,并且有点卡住,任何帮助/建议将不胜感激。 ImageLoader的配置: ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext()) .memoryCache(new WeakMemoryCache()) .denyCacheImageMultipleSizesInMemory() .discCacheFileNameGenerator(new Md5FileNameGenerator()) .imageDownloader(new ExtendedImageDownloader(getApplicationContext())) .tasksProcessingOrder(QueueProcessingType.LIFO) // .enableLogging() // Not necessary in common .build(); 显示图像选项包括: options = new DisplayImageOptions.Builder() .showImageForEmptyUri(R.drawable.image_for_empty_url) .resetViewBeforeLoading() .imageScaleType(ImageScaleType.IN_SAMPLE_INT) .bitmapConfig(Bitmap.Config.RGB_565) .displayer(new FadeInBitmapDisplayer(300)) .build(); 我正在使用随库提供的示例项目,但这些设置也不起作用,它只是在一段时间后崩溃。 我的猜测是有一个特定的回调,我必须从视图中回收不可见的位图。 编辑:我知道它的内存泄漏,不可见的视图会被破坏,但内存不会被释放。 下面是destroyItem回调的实现,遵循不同问题中给出的提示,但仍然无法find内存泄漏。 @Override public void destroyItem(View container, int position, Object object) { // […]

如何将片段添加到ViewPager? addView崩溃我的应用程序

我正在使用Android启动新Android应用程序时启动的默认滑动选项卡片段代码。 我已经弄清楚如何修改我的数据并使用选项卡,但我还没想出如何将一个简单的片段添加到已经存在的内容中。 我想在标签的顶部或正下方添加一个信息栏。 我确定这很简单,我只是无法弄清楚怎么哈哈。 我通过例子学习。 我已经尝试为viewpager添加一个视图,但我的应用程序崩溃了,我相信我做错了。 在我的MainActivity中:… protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // Set up the action bar. final ActionBar actionBar = getActionBar(); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); mSectionsPagerAdapter = new SectionsPagerAdapter( getSupportFragmentManager()); // Set up the ViewPager with the sections adapter. mViewPager = (ViewPager) findViewById(R.id.pager); mViewPager.setAdapter(mSectionsPagerAdapter); SubBarFragment infobar = new SubBarFragment(); mViewPager.addView(infobar.getView()); …..[extra code for menus […]

直到我滑动它才会显示ViewPager标题

我正在学习使用ViewPager和PagerTabStrip来实现导航栏。 我已经实现了它,我的问题是:每次我打开应用程序时,标题都没有显示,但是在我刷了一次后,标题全部再次出现,然后一切正常。 代码如下所示: 定制适配器 public class MyPagerAdapter extends PagerAdapter { private List viewList; private List titleList; public MyPagerAdapter(List viewList, List titleList){ this.viewList = viewList; this.titleList = titleList; } @Override public int getCount() { return viewList.size(); } @Override public boolean isViewFromObject(View view, Object o) { return view == o; } @Override public Object instantiateItem(ViewGroup container, int […]

(ActionBar)选项卡+寻呼机+详细信息ViewPager容器内的碎片

对于ActionBarSherlock,我想要(Action Bar)Tabs + Pager。 我在该寻呼机容器中使用Fragments。 我已经得到了http://actionbarsherlock.com/工作的例子,但是当我点击第一个片段中的一个listitem时,我无法设法在该寻呼机容器中获取一个细节片段。 有这样的事情是不可能的: Tabs和pager容器的活动 片段Tab1下的内部寻呼机容器 单击片段A中的内容并在Tab1下的同一个寻呼机容器中显示片段B. 然后片段A不可见,只有片段B可见,但也可见所有标签。 目前我认为只有一个新的活动(在其中包含片段B)可以在片段A中单击某些内容后启动。

Android – 片段屏幕旋转

我有一个FragmentActivity和一个处理2个碎片的ViewPager。 公共类MyFragmentActivity扩展FragmentActivity { private Fragment f1; private Fragment f2; private ViewPager myPager; private MyFragmentAdapter mFragmentsAdapter; private static ArrayAdapter mFragmentArray; public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.my_layout); myViewPager = (ViewPager) findViewById(R.id.pager_acciones); mFragmentArray = new ArrayAdapter(getApplicationContext(),android.R.layout.simple_list_item_1); f1 = new Fragment(); f1 = new Fragment(); mFragmentArray.add(f1); mFragmentArray.add(f2); mFragmentsAdapter = new MyFragmentAdapter(getSupportFragmentManager()); myPager.setAdapter(mFragmentsAdapter); myPartidoPager.setCurrentItem(0); } public static class MyFragmentAdapter […]

ViewPager – 并不总是调用onCreateView

我有一个10页的ViewPager。 当我启动最后一个(第10个)页面onCreateView() ,调用我片段的方法。 当我滑到第9页onCreateView()也被调用。 但是当我回到第10页onCreateView()没有被调用。 怎么了?

Outofmemeoryerror(viewpager + imageviews)

我在viewpager中显示150多个图像,当页面大小超过70应用程序崩溃,所有图像都从网络加载,我已经休闲[链接]: 在将图像加载到Bitmap对象时出现奇怪的内存不足问题 当页面滑动达到4时,我正在回收它, 70页应用程序需要200 MB的内存。 我需要你的帮助,如何处理它 我必须用刷卡显示所有页面… 我也使用过Runtime.getRuntime()。gc(); 如果应用程序内存达到50+ MB,则可以释放内存 提前致谢

Android中的ViewPager是全屏?

在我的xml文件中,我有一个线性布局,其中有一个用于显示图像的ViewPager和另一个包含用于选择图像的上一个和下一个按钮的线性布局。我的xml看起来像这样: 我的问题是ViewPager正在全屏显示,并且没有显示带有前一个下一个按钮的Linearlayout,因为没有空间来绘制此LinearLayout。 我正在使用Fragments来为ViewPager填充视图。进入ViewPager的片段视图的xml文件是: 渲染后我得到的输出是这样的: 1.image(覆盖45%的屏幕高度) 2.空白区域(占屏幕高度的45%) 3.Textview(覆盖10%屏幕高度的其余部分) 我想要的输出是: 1.image(覆盖45%的屏幕高度) 2.Textview(覆盖10%的屏幕高度) 3.LinarLayout for Buttons(覆盖45%屏幕高度的其余部分)