Articles of android viewpager

Android PagerAdapter,获取当前位置

我想得到我的PagerAdapter的可见视图的当前位置 我没有看到像getPosition()这样的明显函数,我想要一个。 我想在那个位置向它的arraylist添加一个对象,但我需要先知道它

没有样式ViewPagerIndicator与SherlockActionBar结合使用

我正在尝试使用SherlockActionBar实现ViewPagerIndicator。 它的工作原理:我可以滑动碎片,但风格不起作用! 它看起来像这样: 相关主题: https : //github.com/JakeWharton/Android-ViewPagerIndicator/issues/66 我知道出了什么问题:在VPI的示例中,页面的样式在AndroidManifest.xml中设置(例如) 但是当我将android:theme元素添加到我自己的Manifest.xml中时,我得到以下exception: 03-16 11:06:24.400: E/AndroidRuntime(483): Caused by: java.lang.IllegalStateException: You must use Theme.Sherlock, Theme.Sherlock.Light, Theme.Sherlock.Light.DarkActionBar, or a derivative. 我还尝试将所有样式信息复制到styles.xml,但这也不起作用。 你能告诉我如何设置VPI的风格吗? 谢谢! 编辑:现在我已经添加了 到我的Manifest.xml 以及styles.xml中的以下样式 @style/Widget.Styled.ActionBar @style/Widget.Styled.ActionBar @style/Widget.TitlePageIndicator @style/Widget.TabPageIndicator @style/Widget.TabPageIndicator.Text 结果:我没有得到任何exception,看到样式,但我现在看不到任何碎片:( 活动代码可以在这里find: http : //pastebin.com/hsNgxFDZ当前页面的风格截图:

如何使用页面滑动视图创建Android选项卡式样式

我想要一个像这样的标签的例子 我搜索了但是得到了这个。 viewpageindicator 我无法使用此来源。 有人能告诉我另一个带滑动选项的标签示例。 我认为viewpageindicator与google play标签不同。 因为当我在谷歌播放页面滚动时,标签下面的行在滚动时移动,但在viewpageindicator中它不是。 谢谢

在FragmentTransaction.replace()后跟后退按钮后,不会重新创建ViewPager片段

我正在尝试实现保存和恢复状态,但是在使用PreferenceFragment替换主Fragment然后按下后退按钮时遇到问题。 我的主要Fragment包含一个带有FragmentPagerAdapter的ViewPager ,其中有3个Fragments可以ViewPager 。 在点击后退按钮后,没有调用我的3 Fragment的Fragment.onCreateView()回调。 我已经尝试了所有我在这里遇到的解决方案,但是我无法解决这个问题。 另一个可能需要注意的重要事项是,我的3个ViewPager Fragment的数据存储在单独的类中,这些类是实例化的,可通过Activity访问。 3 Fragment都包含RecyclerView用于列出大量数据。 这样做是为了清洁,但也是为了使这些数据在Activity持续存在。 这可能不是问题,因为它在启动应用程序时工作正常,但也因为主要问题是我的Fragments没有重新创建。 意外行为: 在应用程序创建时,一切正常,但是当我用另一个替换我的主Fragment (包含带有FragmentPagerAdapter的ViewPager )然后按下后退按钮时,不会重新创建ViewPager中的Fragment 。 我的主要Fragment的onCreateView() 被调用。 问题: 我错过了什么? 是否还应该创建一些其他回调? 我应该在哪里以及如何重新创建Fragments ? 我试过了什么: 更改了正在使用的FragmentAdapter ,但我应该使用getSupportFragmentManager()就像这里的解决方案一样。 编辑:使用错误的FragmentManager实际上是我的麻烦的来源。 请参阅下面的答案。 将@Override public int getItemPosition(Object object) {return POSITION_NONE;}到FragmentPagerAdapter ,如此处所示 。 根据我的理解,从FragmentPagerAdapter更改为FragmentPagerAdapter ,这在这里无关紧要。 FragmentStatePagerAdapter的内部实际上保留了Fragments ,但它们不会重新渲染。 在调用onCreateView()时,使用FragmentTransaction添加主Fragment并在该Fragment的其他几个回调中,请参阅下面的MMMainFragment 。 各种其他的东西。 我的MainFragment类具有相应的XML布局 public class MMMainFragment extends Fragment { private MMViewPager […]

在ViewPager中水平滚动webview

我把一个WebView加载到ViewPager中的图像。 当我尝试水平滚动图像时,我移动到下一个视图而不是滚动图像。 是否可以在移动到下一个视图之前滚动到图像的末尾? @Override public Object instantiateItem(View view, int i) { WebView webview = new WebView(view.getContext()); webview.setHorizontalScrollBarEnabled(true); webview.loadUrl(“http://sofzh.miximages.com/android/image.gif”); ((ViewPager) view).addView(webview, 0); return webview; }

使用Espresso测试ViewPager。 如何对项目的按钮执行操作?

我有一个ViewPager项目只包含一张图片和一个按钮。 我无法与项目(页面)的UI成功交互,因为除了显示的图片之外,没有什么可以区分(从UI的角度来看) ViewPager所有项目。 我试图只选择一个有位置的项目: onData(is(instanceOf(ItemClass.class))) .atPosition(0) .onChildView(withId(R.id.button)) .perform(click()); 造成: NoMatchingViewException:层次结构中找不到匹配的视图:可从类中分配:class android.widget.AdapterView 如何使用Espresso访问和测试ViewPager项目?

DialogFragment中的ViewPager – IllegalStateException:Fragment没有视图

我想要实现的目标 从FragmentActivity单击操作栏中的操作按钮时会显示一个对话框 DialogFragment – 没有标题的对话框 TabHost – 对话框顶部的选项卡 ViewPager with FragmentPagerAdapter – Swipable,其内容连接到Tabs 2-3对话框按钮(对话框的不同子类,不同的按钮) – 不应该在ViewPager的一个Fragment ,这意味着无论ViewPager显示什么Fragment ,相同的按钮都应保留在对话框的底部。 问题 IllegalStateException: Fragment does not have a view 到目前为止我尝试/做过的事情 使用android.support.v4包进行必要的类 调用getChildFragmentManager()而不是getSupportedFragmentManager() 通过此链接实施了#10建议的posthttps://code.google.com/p/android/issues/detail?id=42601 。 我将代码直接复制/粘贴到我想要显示的两个Fragment类中,以及DialogFragment类。 在我的自定义DialogFragment我首先尝试覆盖onCreateView ,然后是onCreateDialog ,然后同时覆盖两者。 所有这些我都要跑,但意外的结果。 只有onCreateView :无法访问AlertDialog.Builder来创建所需的按钮,除了Dialog的结果很棒。 仅onCreateDialog :上面显示的错误消息。 我仍然认为这种方法与我想要达到的目标一样接近。 onCreateView和onCreateDialog :在onCreateView膨胀对话框布局,并将对话框按钮添加到onCreateDialog的AlertDialog.Builder 。 这显示了对话框,但AlertDialog.Builder中添加的按钮不可见。 此外,单击EditText字段时键盘未显示。 源代码 大多数来自Tutorial在Android 2.2 + ViewPager和Fragments中实现TabHost的使用 。 ActivityFragment的代码改为DialogFragment 。 但是我从这个答案https://stackoverflow.com/a/18167273/2375978的源代码中用一个修改过的ViewPager替换了它的ViewPager。 […]

我们如何解决PagerTitleStrip和PagerTabStrip中的空白标题?

PagerTitleStrip和PagerTabStrip与support-v4(版本23.0.0)存在问题。 使用PagerTitleStrip或ViewPager时PagerTitleStrip的标题视图和support-v4库的版本23.0.0(用于Marshmallow / Android 6.0支持)无法正确呈现。 跟踪问题并安排在Future Release上: https : //code.google.com/p/android/issues/detail ? id = 183127 https://code.google.com/p/android/issues/detail?id = 184715 更新:现在已经在23.1.0中解决了。

Android CoordinatorLayout + AppbarLayout + Viewpager总是滚动

我有一个经典的布局,顶部有一个ToolBar,下面有一个TabLayout,还有一个来自TabLayout的ViewPager切换标签。 当ViewPager中的内容可滚动时,工具栏应该滚动到视线之外,TabLayout应该跟随并在它到达顶部时粘住。 所有这些在我当前的代码中都很好,除了ToolBar总是可滚动的,无论ViewPager的内容大小如何。 请参阅下面的代码。 关于如何解决这个问题的任何好主意? 编辑: 我可以看到viewPager的高度与整个根视图的高度相同。 这可能是有意的,因为appbar_scrolling_view_behavior似乎确实添加了顶部和底部偏移。 但它看起来很奇怪,因为它会导致始终滚动工具栏和标签栏。

onPageScrolled()没有被调用

我正在努力熟悉ViewPager。 我的代码如下。 问题是没有调用onPageChangeListener方法。 可能是什么问题? public class TabsViewPagerFragmentActivity extends SherlockFragmentActivity implements ViewPager.OnPageChangeListener { private ViewPager mViewPager; private PagerAdapter mPagerAdapter; private PageIndicator mIndicator; private static final String[] CONTENT = new String[] { “Home”, “Popular”, “Chat”, “Profile”}; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ActionBar bar = getSupportActionBar(); View customview = LayoutInflater.from(this).inflate(R.layout.actionbar_custom_layout, null); ImageView im = (ImageView)customview.findViewById(R.id.add); /*im.getLayoutParams().height = […]