Articles of android viewpager

在IconPageIndicator中定制填充和边距

我想实现一个自定义的IconPageIndicator – viewpager。 我想定制com.viewpagerindicator.IconPageIndicator中显示的图标的边距和填充。 所以我写了我自定义的IconPageIndicator和CustomLinearLayout。 我改变了CustomLinearLayout中的dividerPaddingvariables。 这是代码。 但是这似乎不起作用。 边距和填充仍然相同。 任何帮助? class CustomLinearLayout extends LinearLayout { private static final int[] LL = new int[] { /* 0 */ android.R.attr.divider, /* 1 */ android.R.attr.showDividers, /* 2 */ android.R.attr.dividerPadding, }; private static final int LL_DIVIDER = 10; private static final int LL_SHOW_DIVIDER = 2; private static final int […]

RecyclerView ViewPager java.lang.NullPointerException android.support.v7.widget.RecyclerView $ ItemAnimator $ ItemHolderInfo.left

我使用ViewPager与Recyclerview,但在创build时间崩溃… 我试着用Recyclerview.Adapter AsyncListUtil,它的工作。 当我将片段移动到ViewPager时,它开始像这样崩溃。 任何见解? FATAL EXCEPTION: main Process: com.dekanski.popularmovies, PID: 6554 java.lang.NullPointerException: Attempt to read from field 'int android.support.v7.widget.RecyclerView$ItemAnimator$ItemHolderInfo.left' on a null object reference at android.support.v7.widget.SimpleItemAnimator.animateChange(SimpleItemAnimator.java:130) at android.support.v7.widget.RecyclerView.animateChange(RecyclerView.java:3062) at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:2924) at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3071) at android.view.View.layout(View.java:15671) at android.view.ViewGroup.layout(ViewGroup.java:5038) at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1627) at android.view.View.layout(View.java:15671) at android.view.ViewGroup.layout(ViewGroup.java:5038) at android.support.design.widget.CoordinatorLayout.layoutChild(CoordinatorLayout.java:1037) at android.support.design.widget.CoordinatorLayout.onLayoutChild(CoordinatorLayout.java:747) at android.support.design.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:761) at android.view.View.layout(View.java:15671) at android.view.ViewGroup.layout(ViewGroup.java:5038) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579) […]

Android:我应该添加一个空的构造函数到ViewPager中使用的片段

我正在做一个布局,类似于Google Play的。 我正在使用需要片段的ViewPager。 我现在有点困惑,因为有些网站说,片段需要一个空的构造函数,但developer.android.com上的例子不包含构造函数。 有代码就像这样: public static class DemoObjectFragment extends Fragment { public static final String ARG_OBJECT = "object"; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // The last two arguments ensure LayoutParams are inflated // properly. View rootView = inflater.inflate( R.layout.fragment_collection_object, container, false); Bundle args = getArguments(); ((TextView) rootView.findViewById(android.R.id.text1)).setText( Integer.toString(args.getInt(ARG_OBJECT))); return […]

AdMob AdView和ViewPager?

我使用ViewPager实现Android应用程序,如下所示: 我不知道如何在ViewPager下面实现AdView。 我试图把AdView放在ViewPager的编程和xml下面。 没有错误,但广告没有显示。 我的xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <android.support.v4.view.ViewPager android:id="@+id/pager" android:layout_width="match_parent" android:layout_alignParentBottom="top" android:layout_height="0dp" android:layout_weight="1"/> <com.google.ads.AdView android:id="@+id/ad" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_alignParentBottom="true" android:layout_below="@+id/pager" ads:adSize="BANNER" ads:adUnitId="@string/admob_publisher_id" ads:loadAdOnCreate="true" > </com.google.ads.AdView>

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

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

ListView中的ViewPager

有没有办法添加一个viewpager作为一个列表视图项目? 我想在所有真实的列表项目之后,将其作为“标题”添加到我的列表视图之上。 我尝试使用addHeaderView()或在我的列表适配器中声明多个视图types,但是,viewpager永远不会显示我尝试的任何方式。 有没有人做过类似的事情? 帮帮我!

如何在Viewpager + Fragments中使用Actionbar项目

我试图找出如何实现基于在我的viewpager中加载的片段的动作栏项目。 我的代码在下面,我只是想弄清楚使用ABS + ViewPager + Fragments的最佳做法。 主要活动 public class MainActivity extends SherlockFragmentActivity { private ViewPager mPager; private TitlePageIndicator mIndicator; private MainPagerAdapter mAdapter; private List<Fragment> mFragments; private static final String FRAGMENT1 = Fragment1.class.getName(); private static final String FRAGMENT2 = Fragment2.class.getName(); private static final String FRAGMENT3 = SupportFragment.class.getName(); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.a_main); // […]

Tab + ViewPager没有更新,而是显示奇怪的警告预期状态3find2

我有一个主要活动,其中包括与ViewPager的TabLayout 我已经添加了3个选项卡,每个选项卡都有单独的包含recyclerview的片段,这些recyclerviews有一个checkbox,每当我滑动viewpager(我保存共享首选项中的检查位置和通过共享首选项更新)应该同时更新/刷新。 我的问题是每当我检查tab1的checkbox,tab2不更新/刷新,直到我向下滚动回收站。 和tab3工作正常。 我也得到了一个奇怪的警告logcat。 03-05 09:35:53.345 4317-4327/com.example.rubin W/art: Suspending all threads took: 6.805ms 03-05 09:35:58.310 4317-4317/com.example.rubin W/FragmentManager: moveToState: Fragment state for Tab3{10a5f1f0 #2 id=0x7f0d00b6} not updated inline; expected state 3 found 2 03-05 09:36:01.363 4317-4317/com.example.rubin W/FragmentManager: moveToState: Fragment state for Tab1{2d9aa887 #1 id=0x7f0d00b6} not updated inline; expected state 3 found 2 我的PagerAdapter public class […]

Fragment里面的FragmentPagerAdapter

我在实现基于多个ViewPagers的devise时遇到了一些麻烦。 在高层次上,我有一个FrameLayout的FragmentActivity,因为它的内容。 我有3个不同的片段,我想要显示。 所有3个全屏幕,一次只能使用1个。 片段1是一些基本的片段与一些TextViews和ImageViews。 片段2有一个ViewPager和一个FragmentPagerAdapter,为它提供几个简单的片段。 片段3有一个ViewPager和一个FragmentPagerAdapter,为它提供几个简单的片段(与片段2不同) 在我的FragmentActivity onCreate()我得到的FragmentManager和开始一个事务,以取代我的FrameLayout中的一个新的片段2实例。 在这一点上,一切都按预期工作。 我的ViewPager在片段2完美地工作。 现在我有一个菜单选项,用Fragment 3的新实例replace我的FrameLayout中的Fragment 2。 当我尝试用另一个replace事务将Fragment 2放回到FrameLayout中时,问题就出现了。 我看到我的PagerIndicater在顶部,但我的网页是空白的。 我试着创build一个新的我的Fragment 2的实例,并调用一个replace事务。 当我调用replace和在replace之前添加findFragmentByTag检查而不是创build新实例时,我也尝试在我的碎片上设置一个标记。 在我第二次replace之后,两者都给了我相同的空白页的结果。 供参考我的第一个devise只是一个ViewPager和ViewIndicater的FragmentActivity。 我只有我的描述上面的片段2和片段3和一个菜单选项来切换它们。 要切换我有2个不同的FragmentPagerAdapters定义,只是称为ViewPager.setAdapter设置选定的FragmentPagerAdapter。 这是完美的工作,但现在我需要一个新的顶级片段,根本不使用ViewPager。 这就是为什么我决定把我的ViewPage移动到他们自己的片段中。 我的想法是,我只是交换我的片段到FrameLayout。 我现在没有我的代码在我面前,所以我不能发布任何,但我会明天添加一些代码到我的问题,以帮助促进答案。

在ViewPager中replace片段显示空白屏幕?

我有很多麻烦让碎片与标签/刷卡工作。 我有一个活动和两个片段,其中有一个ListView。 我想要的是当我从片段1滑动到与ListView的片段,刷新ListView或者如果可能的话重新创build第二个片段…. 我现在正在尝试使用FragmentTransaction.replace()像这样: public void onTabSelected(Tab arg0, android.app.FragmentTransaction arg1) { // TODO Auto-generated method stub Fragment frag = new FragmentTwo(); FragmentTransaction trans = getSupportFragmentManager().beginTransaction(); if (arg0.getPosition() == 1) { trans.replace(R.id.pager, frag); trans.addToBackStack(null); trans.commit(); } } 所以我认为,当我滑动到标签2,这是与ListView的一个,它会取而代之的是一个新的,它创build的。 实际发生的事情是,当我滑动到标签2,它重新创build与ListView的片段(我知道,因为我有一个对话框在屏幕上显示的onCreateView),但片段/选项卡是空白/黑色。 我究竟做错了什么? 这个创build的片段去哪了? 我不知道这些片段的代码是否相关,但请告诉我是否应该发布,我可以这样做。 这是我的PagerAdapter类。 public class TabsPagerAdapter extends FragmentPagerAdapter { public TabsPagerAdapter(FragmentManager fm) { super(fm); } @Override […]