Articles of android 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中加载一个页面?

CoordinatorLayout中的ViewPager中的非滚动片段

我在Activity中的CoordinatorLayout(来自最新版本的Design Library)中使用ViewPager。 此ViewPager的某些片段具有RecyclerView或NestedScrollView等布局,但有些片段只是因为内容较小而无法滚动。 但是在一个以FrameLayout作为根视图的片段中,我需要一个固定在底部的按钮,但它似乎是在屏幕外绘制的。 为了能够看到它,我需要添加一个底部填充等于工具栏的高度。 同样,在元素上设置为“center”的layout_gravity似乎不在此片段的可见区域的中心。 我的理解是CoordinatorLayout只是打算使用滚动内容,这是正确的吗? 因此,对于ViewPager片段,只使用常规ViewGroup(例如FrameLayout,RelativeLayout,LinearLayout)将其底部部分绘制出屏幕外? 在这种情况下,我是否需要从此片段布局中删除此按钮并将其移动到包含CoordinatorLayout的活动布局? 它只需要在第一个片段上显示。

PagerTitleStrip不在第一个显示页面上显示标题,标题仅在刷到另一个页面后绘制

问题:更新到appcompat-v7:23.0.0后,PagerTabStrip和PagerTitleStrip都没有在第一个显示页面上显示标题(图1),标题仅在刷到另一个页面后绘制(图2)。 使用的库:appcompat-v7 使用的版本:23.0.0 使用的主题:Theme.AppCompat.Light.DarkActionBar,Theme.AppCompat.Light.NoActionBar 设备/ Android版本转载于:Nexus 5 / Android M开发者预览版2 重现步骤: 创建一个新的示例项目,minSdk版本没关系。 当系统要求您添加活动时,请选择选项卡式活动。 在activity_main.xml中添加PagerTabStrip布局,如下所示: 运行该应用程序 期待什么:viewpager标签条上的标题应该是可见的事情发生了:除非刷到另一页(图2),否则不会绘制标题(图1) 这里是问题的链接…… https://code.google.com/p/android/issues/detail?id=183127

ViewPagerAndroid不使用React-Native在ScrollView下呈现

我可以使用ViewPagerAndroid,但是当我把它放在ScrollView组件下时,没有任何东西被渲染。 有没有人遇到过这个? React-Native:版本0.22平台:Android 这按预期工作: View 1 View 2 View 3 ; 以下内容无效: View 1 View 2 View 3 我在github上也创建了一个问题: #6469

ViewPager不支持layout_height = wrap_content

我正在构建一个具有以下布局的Android应用程序。 已经知道layout_height=”wrap_content”对ViewPager不起作用。 我的问题是如何动态地改变它。 ViewPager的内容从两个xml布局vp_statistics.xml and vp_campaigns.xml. 这是ViewPager的xml 这是我的PagerAdapter的代码 class MyPagerAdapter extends PagerAdapter{ @Override public int getCount() { // TODO Auto-generated method stub return 2; } public Object instantiateItem(View collection, int pos){ LayoutInflater inflater = (LayoutInflater)collection.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); int resId = 0; switch(pos){ case 0: resId = R.layout.vp_statistics; break; case 1: resId = R.layout.vp_campaigns; break; } View view […]