Articles of android viewpager

奇怪的问题刷新ViewPager与新的内容:

我从Web服务接收数据,这个数据被parsing成Application类中的一个对象,这个对象在我的例子中是一个Report类,它包含了一个应该填充ViewPager的Tabs列表。 所以这个报告存储在Application类的currentReport参数中。 每个选项卡应该是ViewPager一个页面。 因此,当我第一次接收数据并parsing数据时,所有工作都完美无缺,并且查看传呼机中填充了正确的数据并显示出来。 当我想从服务器获取一个新的Report ,并使用parsing到currentReport参数的新数据刷新ViewPager时,我的问题就开始了。 我的ViewPager是可滑动的,并具有制表符导航,所以当我尝试重新实例化与新Report的ViewPager ,我看到正确数量的选项卡添加到tabHost 。 由于某种原因,新报告的片段与前一个片段重叠。 因此,如果新报告中的标签数量大于之前报告中的标签数量,那么除了部分新报告之外,我还可以看到之前报告中的标签(例如,如果第一份报告中有一个标签,在新的我有3,然后我看到从前一个和最后两个来自下一个片段)。 我已经开始从这个教程的发展,并添加smoe代码: http ://thepseudocoder.wordpress.com/2011/10/13/android-tabs-viewpager-swipe-able-tabs-ftw/ 这是我的标签活动代码: public class TabsViewPagerFragmentActivity extends FragmentActivity implements ViewPager.OnPageChangeListener, TabHost.OnTabChangeListener { static final String TAG = TabsViewPagerFragmentActivity.class.getSimpleName(); private TabHost mTabHost; private ViewPager mViewPager; private HashMap<String, TabInfo> mapTabInfo; public ViewPagerAdapter mPagerAdapter; private TextView tvReportName, tvTabTitle; private Button bBackToParameters; private Dialog progressDialog; private SGRaportManagerAppObj […]

显示的ViewPager第一个片段总是与FragmentStatePager错误

我正在尝试与PlayStore 5.1.x具有相同的view pager + tabsdevise。 这是我的布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center_vertical|center_horizontal" android:gravity="center_vertical|center_horizontal" android:orientation="vertical"> <com.astuetz.PagerSlidingTabStrip android:id="@+id/tabs" android:layout_width="match_parent" android:layout_height="50dp" android:background="@drawable/background_tabs" /> <android.support.v4.view.ViewPager android:id="@+id/pager" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout> 我的适配器: public class MainPagerAdapter extends FragmentStatePagerAdapter { private ArrayList<FakeFragment> fragments; public MainPagerAdapter(FragmentManager fm) { super(fm); // TODO Auto-generated constructor stub fragments = new ArrayList<FakeFragment>(); } @Override public […]

在Android App中隐藏软键盘从ViewPager片段

我有一个Android应用程序,其中包含一个2片段的ViewPager。 第一个片段包含一个EditText字段。 当应用程序启动,该领域立即关注和软键盘启动(我想发生)。 第二个片段只包含一个列表(不可编辑的文本字段)。 当我从片段1滑动到片段2时,我想让键盘消失。 没有我试过似乎工作。 键盘不仅保留在视图中,还继续更新片段1的EditText字段。 我想我要么使用不正确的代码来隐藏键盘或将其放置在一个不正确的位置。 如果任何人都可以发布一个正确的实施的例子,将不胜感激! 我最近的尝试是放置应该隐藏在片段1的onDetach()方法中的键盘的代码: @Override public void onDetach() { super.onDetach(); InputMethodManager imm = (InputMethodManager) this.context.getSystemService(Context.INPUT_METHOD_SERVICE); // I'VE TRIED ALL THREE BELOW, NONE OF THEM WORK… // imm.hideSoftInputFromWindow(this.messageView.getWindowToken(), 0); // imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0); // this.context.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); }

如何使PagerAdapter加载所有页面

我知道默认情况下, PagerAdapter只加载当前,下一页和上一页。 有没有办法改变它,所以它会加载每一个页面? 谢谢!

在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永远不会显示我尝试的任何方式。 有没有人做过类似的事情? 帮帮我!