Articles of android viewpager

使用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 = […]

如何解决viewpager:指定的子节点已经有父节点。 您必须首先在孩子的父母上调用removeView()

在我的项目中,我使用的是viewpager,其中包含三个名为History , Main , Map选项卡。 主要活动包括计时器,秒表等。 地图显示谷歌地图。 现在进入历史我只使用简单的Textview。 Viewpager流向: 历史 – 主要 – 地图 我将Main设置为当前项目(Bydefault Main tag display)。现在我从Main > Map and Map > Main滑动它的工作完美。 但是当从Main > History中滑动时没有错误但是从History返回Main ( History > Main )eclipse给出了如下错误: E/AndroidRuntime( 533): java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child’s parent first. 我正在使用intent into Map Activity […]

如何改变SlidingTabLayout的文字颜色?

我创建了一个使用ActionBarCompat的应用程序 我使用SlidingTabLayout类创建了选项卡。 这个class是这样的: SlidingTabLayout.java 但我不能改变标签的颜色…… 我的viewpager片段是这样的: 应用程序工作得很好,但我无法更改选项卡的颜色文本 … 我看了下面的例子后做了一个应用程序: rudsonlive /导航抽屉ViewPager-ActionBarCompat 如何更改选项卡文本的文本颜色? 谢谢 !!!

如何使用ViewPager和嵌套片段正确处理屏幕旋转?

我有这个活动,它有一个片段。 这个片段布局包含一个带有几个片段的视图寻呼机(实际上是两个片段)。 创建视图寻呼机时,会创建其适配器, 调用getItem并创建子片段。 大。 现在,当我旋转屏幕时,框架处理片段重新创建,适配器在我的onCreate从主片段再次创建,但getItem永远不会被调用 ,所以我的适配器保存错误的引用(实际上为空)而不是两个片段。 我发现片段管理器(即子片段管理器)包含一个名为mActive的片段数组,当然无法从代码中访问它。 但是有这个getFragment方法: @Override public Fragment getFragment(Bundle bundle, String key) { int index = bundle.getInt(key, -1); if (index == -1) { return null; } if (index >= mActive.size()) { throwException(new IllegalStateException(“Fragement no longer exists for key ” + key + “: index ” + index)); } Fragment f = […]

如何知道viewpager是向左还是向右滚动?

我正在使用ViewPager(支持库)。 我想知道每次ViewPager更改可见页面时,它都向左或向右滚动。 请给我一个解决方案。 欢迎任何推荐。 谢谢

具有页面指示符的Android视图寻呼机

我需要在视图分页器文件中获取包含图像的页面指示符。 这是我的代码。 public class IndicatorActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); MyPagerAdapter adapter = new MyPagerAdapter(); ViewPager myPager = (ViewPager) findViewById(R.id.pager); myPager.setAdapter(adapter); myPager.setCurrentItem(0); TitlePageIndicator indicator = (TitlePageIndicator)findViewById(R.id.indicat); indicator.setViewPager( myPager ); } } 在这段代码中,我在TitlePageIndicator indicator = (TitlePageIndicator)findViewById(R.id.indicat);中TitlePageIndicator indicator = (TitlePageIndicator)findViewById(R.id.indicat);了一个错误: TitlePageIndicator indicator […]