Articles of android viewpager

适用于ViewPager的无限适配器

我一直在使用CWAC的EndlessAdapter在ListViews上实现无限滚动。 我想完成ViewPager的等价物。 遗憾的是,PageAdapter和ListAdapter不共享相同的公共基类。 最好的方法是什么? 是否存在已经处理此问题的库?

带有标签的Android Actionbar Sherlock

我正在尝试使用下面的Tabs实现ActionBar Sherlock,如上面的线框所示。 我应该使用TabActivity吗? – 因为我看到它被弃用了。 这是实现同样目标的最佳方式。

单击按钮,滑动到下一个片段

这是我的代码: FirstView.java import android.content.Intent; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.Button; import android.widget.TextView; public class FirstView extends Fragment { private TextView firstText; private Button btn; public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_view1,container,false); firstText = (TextView)view.findViewById(R.id.viewOneText); btn = (Button)view.findViewById(R.id.viewOneBtn); btn.setOnClickListener(new ButtonEvent()); return view; […]

首次运行时在ViewPager中预加载片段的视图

我正在使用包含3个片段的ViewPager,每个片段都会加载一个列表。 问题是当应用程序第一次运行并且我滑动到下一个片段时,此片段需要一段时间才能加载(大约2秒),然后才能看到它的视图。 这是一种非常奇怪的行为。 我想要的只是应用程序启动后,ViewPager中的所有片段都应该为用户准备好了,所以当他们浏览片段时,没有等待时间。 我怎样才能做到这一点?

在null对象引用上的java.lang.Class java.lang.Object.getClass()’

我尝试将viewPager与tablayout一起使用,但是当我使用view pager设置适配器时,我收到错误“java.lang.NullPointerException:尝试调用虚方法’java.lang.Class java.lang.Object.getClass()on空对象引用“我不明白为什么会显示此错误。 查看寻呼机设置适配器: viewPager= (ViewPager) findViewById(R.id.viewPager_id); viewPager.setAdapter(newViewPagerAdapterUseThisClass(getSupportFragmentManager(),14)); 适配器clss: class ViewPagerAdapterUseThisClass extends FragmentPagerAdapter { int countTabItem; ViewPagerAdapterUseThisClass(FragmentManager fm,int contTabItem) { super(fm); this.countTabItem=contTabItem; } @Override public Fragment getItem(int position) { if(position==0){ EnthusamTab enthusamTab=new EnthusamTab(); return enthusamTab; } return null; } @Override public int getCount() { return countTabItem; } } 查看寻呼机xml文件: 错误日志: java.lang.NullPointerException: Attempt to invoke virtual […]

Recyclerview一次刷一个项目

我尝试在回收器视图上添加Scroll监听器并制作了一些逻辑,但我无法一次刷一个项目。 我在互联网上做了一些搜索,但我得到了一些第三方库,它有定制的回收站视图。 我们可以在回收站视图中一次实施一个项目滑动吗? 如果是,请告诉我怎么做? 一次扫描一次,就像这张图片一样 。

TabLayout的标签没有显示

我有一个主要活动,它承载一个片段,该片段反过来托管一个TabLayout(带有一个ViewPager)。 显示标签栏,但标签本身未显示。 这是我在显示主机片段的主要活动中的代码: Fragment fragment = new BMITabsFragment(); FragmentManager fragmentManager = getSupportFragmentManager(); fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).addToBackStack(Constants.BMI_TABS_FRAGMENT).commit(); 这是我托管TabLayout的片段,它是BMITabsFragment(sa): public class BMITabsFragment extends Fragment { … @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (getArguments() != null) { mParam1 = getArguments().getString(ARG_PARAM1); mParam2 = getArguments().getString(ARG_PARAM2); } } @Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); // Get the […]

有时在使用片段填充viewpager时,“活动已被破坏”

我收到来自所有版本的android 4+和5+的viewpager v22 + FragmentPagerAdapter的崩溃报告。 viewpager在一个片段中,寻呼机适配器正在使用childFragmentManager它很少发生,大约有1/200的用户。 java.lang.IllegalStateException: Activity has been destroyed at android.support.v4.app.FragmentManagerImpl.void enqueueAction(java.lang.Runnable,boolean)(SourceFile:1397) at android.support.v4.app.BackStackRecord.int commitInternal(boolean)(SourceFile:636) at android.support.v4.app.BackStackRecord.int commitAllowingStateLoss()(SourceFile:619) at android.support.v4.app.FragmentPagerAdapter.void finishUpdate(android.view.ViewGroup)(SourceFile:139) at android.support.v4.view.ViewPager.void populate(int)(SourceFile:1073) at android.support.v4.view.ViewPager.void populate()(SourceFile:919) at android.support.v4.view.ViewPager.void onMeasure(int,int)(SourceFile:1441) at android.view.View.measure(View.java:16574) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5140) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1406) at android.widget.LinearLayout.measureVertical(LinearLayout.java:697) at android.widget.LinearLayout.onMeasure(LinearLayout.java:590) at android.view.View.measure(View.java:16574) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5140) at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) at android.view.View.measure(View.java:16574) at android.widget.LinearLayout.measureVertical(LinearLayout.java:849) at android.widget.LinearLayout.onMeasure(LinearLayout.java:590) at […]

为什么在PagerAdapter中多次调用getCount?

我今天注意到PagerAdapter被调用了很多次。 当慢慢滚动页面时,我计算了393。 我看到了这个问题,但它并没有给我一个很好的答案。 这是正常的行为吗? 如果是这样,为什么经常调用getCount方法呢? 为了清楚起见,我正在寻找一个比所提问题更广泛的答案。 我也意识到我需要保持它的速度,并且我无法控制它的调用方式,但这不是问题。

在ViewPager中仅加载一个片段

我使用了ViewPager和Fragment 。 但它每次加载两页。 有没有办法只在viewpager中加载一个页面?