Articles of android viewpager

如何解决viewpager:指定的孩子已经有一个父母。 您必须先调用子对象的父对象的removeView()

在我的项目中,我使用了三个名为History , Main , Map选项卡。 主要活动包括计时器,秒表等。 地图显示谷歌地图。 并进入历史现在我只使用简单的Textview。 Viewpagerstream向: 历史 – 主要 – 地图 我将Main设置为当前项目(Bydefault Main标签显示)。现在,当我从Main > Map and Map > Main中滑动时,它的工作非常完美。 但从主要 > 历史刷卡没有错误,但返回从历史logging 主 ( 历史 > 主 )日食给我错误如: E/AndroidRuntime( 533): java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first. 而FYI我正在使用intent into Map Activity 。请检查下面的code.Please让我知道如何能解决我的问题。 […]

导航抽屉和查看传呼机在同一活动

我正在尝试实现两个导航抽屉和查看传呼机在同一活动。 导航抽屉工作正常,但视图的传呼机不工作,也是我正在获取空指针右抽搐时,导航抽屉打开(空指针在android。支持.v4。小部件。DrawerLayout。isContentView(DrawerLayout.java:840)。附加下面的主要XML布局和代码。 <android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_width="fill_parent" android:layout_height="fill_parent" > </android.support.v4.view.ViewPager> <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" > <ListView android:id="@+id/left_drawer" android:layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="start" android:background="#111" android:choiceMode="singleChoice" android:divider="@android:color/transparent" android:dividerHeight="0dp" /> </android.support.v4.widget.DrawerLayout> Activity类如下所示 public class MainActivity extends Activity { private DrawerLayout mDrawerLayout; private ListView mDrawerList; private ActionBarDrawerToggle mDrawerToggle; private CharSequence mDrawerTitle; private CharSequence mTitle; private String[] mPlanetTitles; private MainActivity mContext; @Override protected […]

ViewPager中的ScrollView自动滚动到中间

我有一个ViewPager包含同一个片段的几个实例,这个片段包含一篇文章。 文章视图层次非常简单,一个标题,一个横幅图像,一个小标题和一个主体; 除了标题之外的所有内容都包含在滚动视图中。 问题是 ,当你滑动到一个新的页面,片段与顶部的视图呈现,然后立即滚动到容器的中间。 (事实上​​,它滚动到TextView的开头,id: article_content ) 我已经在问题的底部发布了布局。 现在,ViewPager设置了一个FragmentStatePagerAdapter的简单实现,下面是代码: class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter { Bundle args; int count; public ScreenSlidePagerAdapter(FragmentManager fm) { super(fm); this.count = 8; } @Override public Fragment getItem(int position) { ArticleFragment mPrimaryFragment = new ArticleFragment(); args = new Bundle(); args.putString(ArticleFragment.KEY_ARTICLE_URL, mCurArticleLink); mPrimaryFragment.setArguments(args); return mPrimaryFragment; } @Override public int getCount() { return […]

如何将PagerTabStrip的TextStyle设置为粗体?

我在PagerTabStrip中使用PagerTabStrip来显示每个页面的标题。 这是我的XML代码: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/bg"> <android.support.v4.view.ViewPager android:id="@+id/pager" android:layout_width="fill_parent" android:layout_height="fill_parent" > <android.support.v4.view.PagerTabStrip android:id="@+id/pager_title_strip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="top" android:background="#33b5e5" android:textColor="#a4c639" android:paddingTop="4dp" android:paddingBottom="4dp" /> </android.support.v4.view.ViewPager> </RelativeLayout> 我想在这样的PagerTabStrip中将textStyle设置为粗体: android:textStyle="bold" 。 但是这在PagerTabStrip是不可能的。 似乎它只有文本的textcolor属性。 我可以如何将风格设置为大胆?

片段作为Android中的单例

一般问题我可以定义碎片为单身? 具体问题在我的应用程序中,我有一个“FragmentActivity”与FragmentPager有两个片段, FragmentA和FragmentB 。 我在FragmentA扩展Fragment类中将FragmentA定义为Singletons: private static instance = null; public static FragmentA getInstance() { if (instance == null) { instance = new FragmentA(); } return instance; } private FragmentA() {} 并在我的FragmentPagerAdapter : @Override public Fragment getItem(int position) { switch(position){ Fragment fragment = null; case 0: fragment = FragmentA.getInstance(); break; case 1: fragment = FragmentB.getInstance(); […]

android:如何从Android支持库版本4添加图标/绘图到PagerTabStrip?

android:如何从Android支持库版本4添加图标/绘图到PagerTabStrip? 这是人们意识到PagerTabStrip的非常具体的问题,我无法find足够的任何地方的例子,它是某种新的(PagerTabStrip),所以我找不到足够的信息。

使用getItemPosition(Object对象)在FragmentStatePagerAdapter中重新sorting页面

我相信,当重写getItemPosition(Object object)时,FragmentStatePagerAdapter在重新sorting页面的时候并不正确。 下面是一个简单的例子。 在初始状态下,页面的顺序是{A,B,C}。 在调用toggleState() ,页面的顺序变为{A,C,B}。 通过重写getItemPosition(Object object) ,我们确保当前正在查看的页面(A,B或C)不会改变。 public static class TestPagerAdapter extends FragmentStatePagerAdapter { private boolean mState = true; public TestPagerAdapter(FragmentManager fragmentManager) { super(fragmentManager); } @Override public int getCount() { return 3; } private void toggleState() { mState = !mState; notifyDataSetChanged(); } private String getLabel(int position) { switch (position) { case 0: return […]

带有Recyclerview的ViewPager上的NullPointerException

我们的应用程序中有一个ViewPager和一个包含三个片段的FragmentPagerAdapter 。 其中两个片段由每个片段的Recyclerview组成。 第一页(没有ViewPager的片段)正确显示。 但是,当ViewPager尝试预载下一个页面(一个RecyclerView)时,应用程序因为NullPointerException而崩溃,并显示以下日志: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.support.v7.widget.RecyclerView$ViewHolder.shouldIgnore()' on a null object reference at android.support.v7.widget.RecyclerView.findMinMaxChildLayoutPositions(RecyclerView.java:2839) at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:2626) at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3011) at android.view.View.layout(View.java:15684) at android.view.ViewGroup.layout(ViewGroup.java:4981) at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1626) at android.view.View.layout(View.java:15684) at android.view.ViewGroup.layout(ViewGroup.java:4981) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573) at android.widget.FrameLayout.onLayout(FrameLayout.java:508) at android.view.View.layout(View.java:15684) at android.view.ViewGroup.layout(ViewGroup.java:4981) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557) at android.widget.LinearLayout.onLayout(LinearLayout.java:1466) at android.view.View.layout(View.java:15684) at android.view.ViewGroup.layout(ViewGroup.java:4981) at android.support.design.widget.CoordinatorLayout.layoutChild(CoordinatorLayout.java:1000) at […]

ViewPager随着时间的推移碎片被破坏?

我正在使用Android的support.v4包来开发包含多个Fragment的ViewPager。 我想在用户更改页面时隐藏视图。 所以,我实现了一个OnPageChangeListener来监听我的适配器,并在发生页面更改时调用我的Fragment的update()方法。 但是我得到一个NullPointerException ,我不明白为什么。 这里是代码: public class MyActivity extends FragmentActivity implements OnPageChangeListener { private static final int NUM_ITEMS = 2; private ViewPager mPager; private static SpaceAdapter mAdapter; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.fragment_pager); mAdapter = new SpaceAdapter(getSupportFragmentManager()); mPager = (ViewPager) findViewById(R.id.pager); mPager.setAdapter(mAdapter); mPager.setOnPageChangeListener(this); […]

一个包含多个片段的页面的ViewPager“java.lang.IllegalArgumentException:没有findid为”

在我的小型Android应用程序中,我有一个3页的ViewPager ,每个页面包含一个片段,这与FragmentStatePagerAdapter一起工作正常(请参阅前面的问题 )。 现在对于更大的屏幕,我想保留一个ViewPager ,但我希望前两个片段在同一个首页。 为此,我实现了自己的PagerAdapter,这是主要工作,我正在尝试解决的唯一问题是当我旋转屏幕,我得到一个错误: 12-11 16:34:13.526: ERROR/AndroidRuntime(9221): FATAL EXCEPTION: main java.lang.RuntimeException: Unable to start activity ComponentInfo{com.matthieu/com.matthieu.TestActivity}: java.lang.IllegalArgumentException: No view found for id 0x7f030002 (com.matthieu:id/top_fragment) for fragment TestFragment{481a3a98 #0 id=0x7f030002} at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3815) at android.app.ActivityThread.access$2400(ActivityThread.java:125) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2037) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:123) at android.app.ActivityThread.main(ActivityThread.java:4627) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:521) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:871) at […]