Articles of android pageradapter

ViewPager – 并不总是调用onCreateView

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

PagerAdapter类被多次调用

我正在创build一个ViewPager视图的应用程序,我创build了一个PagerAdapter,它具有视图,PagerAdapter的instantiateItem()方法在create()中被调用两次,我不知道为什么,任何人都可以帮助我这个? 这是我的代码, View PagerView; MyPagerAdapter adapter; ViewPager pager; adapter = new MyPagerAdapter(); pager.setAdapter(adapter); pager.setCurrentItem(0); public class MyPagerAdapter extends PagerAdapter { @Override public Object instantiateItem(final View collection, final int position) { Log.d("Inside", "Pager"); PagerView = new View(collection.getContext()); LayoutInflater inflater = (LayoutInflater) collection.getContext() .getSystemService(Context.LAYOUT_INFLATER_SERVICE); PagerView = inflater.inflate(R.layout.tablemenu, null, false); tbMenuDetails = (TableLayout) PagerView .findViewById(R.id.Menutable1); scrollview = (ScrollView) […]

如何将数据提供给PagerAdapter

我正在使用这个例子来使用ViewPager和PagerAdapter 。 但是,我怎么能提供来自像CursorAdapter这样的适配器的数据的PagerAdapter ,我使用CursorLoader加载数据? .setAdapter()上的.setAdapter()只需要一个PagerAdapter 。 然后我想我需要在PagerAdapter绑定CursorAdapter ,但是我找不到这样做的方法。

FragmentPagerAdapter与OffPreenLimit设置为1的ViewPager和FragmentStatePagerAdapter之间的区别?

FragmentPagerAdapter与ViewPager与OffScreenLimit设置为1和FragmentStatePagerAdapter什么区别? 关于FragmentPagerAdapter Google的指南说: 这个版本的寻呼机最适合用于有less量通常需要寻呼的静态片段,比如一组选项卡。 用户访问的每个页面的片段将保存在内存中,尽pipe其视图层次可能在不可见时被破坏。 这可能会导致使用大量的内存,因为片段实例可以保持任意数量的状态。 对于更大的页面集,请考虑FragmentStatePagerAdapter。 而关于FragmentStatePagerAdapter : 当有大量的页面时,这个版本的寻呼机更加有用,更像是一个列表视图。 当页面对用户不可见时,它们的整个片段可能被破坏,只保留该片段的保存状态。 与FragmentPagerAdapter相比,这允许寻呼机保持与每个访问页面相关联的更less的存储器,代价是在页面之间切换时可能会有更多的开销。 我想如果我将offscreenlimit设置为1,它会销毁当前片段的下两个片段之外的所有片段,它的行为类似于FragmentStatePagerAdapter。 它是否正确?

Android View寻呼机适配器显示空白屏幕

我在一个片段中实现寻呼机适配器。 当我加载屏幕第一次,它工作正常。 如果我切换到其他片段,再次进入前一个片段,则显示空屏幕。 如果我滑动不同的水龙头,并再次移动到第一个选项卡,然后显示数据。 我想回到可见的标签没有加载数据,但一旦他们在刷卡导航视图中加载数据。 这是我的寻呼机适配器。 public class MyPagerAdapter extends FragmentPagerAdapter { public MyPagerAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int index) { switch (index) { case 0: return new Fragment1(); case 1: return new Fragment2(); case 2: return new Fragment3(); case 3: return new Fragment4(); case 4: return new Fragment5(); case 5: return […]

问题与FragmentPagerAdapter

我试图用viewpager和片段制作一个幻灯片,这样我就可以为每个片段加载不同的布局,并为每个页面提供不同的function。 我跟着一个教程来完成这个。 hover在public Fragment getItem(int arg0)时出现的错误:返回types与FragmentPagerAdapter.getItem(int)不兼容 和错误#2:构造函数FragmentPagerAdapter(FragmentManager)是未定义的 – >hoversuper(fm);时得到这一个super(fm); package com.example.spui; import android.os.Bundle; import android.app.Fragment; import android.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; public class MyFragmentPagerAdapter extends FragmentPagerAdapter{ final int PAGE_COUNT = 5; /** Constructor of the class */ public MyFragmentPagerAdapter(FragmentManager fm) { super(fm); } /** This method will be invoked when a page is requested to create */ […]

如果点击上一个项目,Android PagerAdapter不报告正确的位置

我有一个ViewPager瓦特/负边界设置得到这样的效果: 现在,我想要发生的是,当我点击当前视图的左侧或右侧的视图。 它应该select该视图并在ViewPager上调用setCurrentItem()。 这与当前项目右侧的视图无关,但与当前项目左侧的视图无关。 当我点击该视图时,向我报告的位置就是当前视图的位置。 这是一些代码,如果有帮助。 这是来自我在onClick()上的PagerAdapter.instantiateItem(): @Override public Object instantiateItem(final ViewGroup container, final int position) { cardLayout.setTag(profile); cardLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // mOnItemClickListener passed in to adapter on initialization mOnItemClickListener.onItemClick(null, view, position, 0); // other stuff happens here as well } }); } 对于任何感兴趣的人,整个PagerAdapter类: static class GiveTenPagerAdapter extends PagerAdapter […]

不推荐使用PagerAdapter.instantiateItem()方法

我很好奇,为什么instantiateItem被弃用,以支持它的新版本。 变化是它现在接收ViewGroup而不是更一般的View 。 弃用的方法 public Object instantiateItem (View container, int position) 新的方法 public Object instantiateItem (ViewGroup container, int position) 注意:这个改变也发生在destroyItem , startUpdate , finishUpdate & setPrimaryItem 。

Android:FragmentPagerAdapter:第一次调用两次的getItem方法

在我的应用程序中,我使用了ViewPager。 喜欢, (say main.xml) <android.support.v4.view.ViewPager android:id="@+id/viewPager" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_above="@+id/register_header" /> 并在FragmentActivity中创buildViewPager对象和ViewPagerAdapter(它扩展了FragmentPagerAdapter)对象。 _mViewPager = (ViewPager) findViewById(R.id.viewPager); _adapter = new ViewPagerAdapter(getApplicationContext(), getSupportFragmentManager()); _mViewPager.setAdapter(_adapter); 而Adapter类就像, public class ViewPagerAdapter extends FragmentPagerAdapter { private Context _context; private FragmentManager manager; private Fragment f; private String classname="ViewPagerAdapter"; public ViewPagerAdapter(Context context, FragmentManager fm) { super(fm); _context=context; manager=fm; } @Override public Fragment getItem(int position) […]

ViewPager PagerObserver未注册

我的应用程序closures时,我closures我的屏幕,并重新打开。 Logcat告诉我,这个错误的原因是指向我的CourseFragment.class中的Java行60,它扩展了Fragment。 mViewPager.setAdapter(infoTechPageAdapter); 我在我的CourseFragment.class中实现了一个ViewPager,它扩展了Fragment。 这是我的代码: public class CourseFragment extends Fragment { public static final String ARG_POSITION_NUMBER = "course_number"; private int position; public CourseFragment() { // Empty constructor required for fragment subclasses } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView; position = getArguments().getInt("position"); String course = getResources().getStringArray( R.array.array_navigation_drawer)[position]; getActivity().setTitle(course); rootView = […]