Articles of android viewpager

片段中的上下文动作模式 – 如果没有聚焦则关闭?

我在嵌套的fragement中实现了一个上下文动作模式栏。 此片段是视图分页器的一部分,视图分页器也是片段和导航抽屉的一部分。 我的问题:如果片段不再集中,我想关闭上下文操作模式栏。 因此,如果我在视图分页器中滑动,则应关闭操作模式栏。 但是如果我使用嵌套片段的onPause()方法,则不会直接调用该方法。 通常它等到我向前滑了两三次……这是一些照片: 在第二张图片中,您可以看到操作模式栏仍然存在。 所以我的问题是:我应该在哪个方法中调用我的actionModeBar.finish()方法,如果我离开片段,直接关闭动作模式栏? 也许片段的代码可以帮助你: public class EditorFragment extends Fragment { private static final String KEY_POSITION=”position”; ListView listView; private boolean isMultipleList = false; private ActionMode acMode; private int counterChecked = 0; private ActionMode.Callback modeCallBack = new ActionMode.Callback() { public boolean onPrepareActionMode(ActionMode mode, Menu menu){ return false; } public void onDestroyActionMode(ActionMode mode) […]

从FragmentPagerAdapter动态添加和删除片段

我有一个用于viewPager的FragmentPagerAdapter,它最初只有一个Fragment。 我想在用户从右向左滑动时动态地向适配器添加新的Fragment,并在用户从左向右滑动时动态删除Fragment。我试图使用此库https://github.com/commonsguy/cwac -pager但在该库中我们可以选择在按钮点击时添加和删除片段。 我试图将一个OnPageChangeListener添加到viewpager,但回调方法(onPageScrolled和onPageScrollStateChanged)被多次调用,这导致向FragmentPagerAdapter添加多个片段。 所以请详细说明如何做到这一点。

使用tabLayout和ViewPager未在Fragment中调用OnResume()

我正在使用tabLayout开发一个应用程序。 我有一个问题:当我尝试重新激活Fragment ,未调用OnResume方法。 这是我的活动: private void init() { fab = (FloatingActionButton) findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Snackbar.make(view, “Nuovo Ticket”, Snackbar.LENGTH_LONG) .setAction(“Action”, null).show(); } }); TabLayout tabLayout = (TabLayout) findViewById(R.id.tab_layout); tabLayout.setTabGravity(TabLayout.GRAVITY_FILL); final ViewPager viewPager = (ViewPager) findViewById(R.id.pager); final PagerAdapter adapter = new PagerAdapter (getSupportFragmentManager(), tabLayout.getTabCount()); viewPager.setAdapter(adapter); tabLayout.setupWithViewPager(viewPager); } 我像这样使用FragmentStatePagerAdapter: public class […]

ActionBarSherlock与ViewPager在从backstack转发和返回时不调用ViewPager片段生命周期方法

我有一个使用ActionBarSherlock的应用程序,在主片段中我有一个ViewPager,它使用几个片段来显示列表的不同对象。 主要片段: public class CollectionDemoFragment extends SherlockFragment { DemoCollectionPagerAdapter mDemoCollectionPagerAdapter; ViewPager mViewPager; public CollectionDemoFragment() { setTitle(R.string.title); setHasOptionsMenu(true); } public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.demo_fragment, container, false); mDemoCollectionPagerAdapter = new DemoCollectionPagerAdapter(getFragmentManager()); mViewPager = (ViewPager) findViewById(R.id.pager); mViewPager.setAdapter(mDemoCollectionPagerAdapter); return view; } @Override public […]

保留viewpager片段android的状态

我在一个片段中有一个viewpager,我在其中显示3个片段,但是当我第一次打开片段时它打开正常,当我移动到另一个片段并返回到viewpager片段时,它不会在视图寻呼机中显示片段然后我必须更改手机的方向或继续滑动viewpager以显示隐藏的片段。 我用google搜索它,现在我知道我必须将标记设置为每个片段并使用findfragmentbytag方法检索片段但问题是当我尝试将标记设置为片段时 getSupportFragmentManager().beginTransaction().add(myFragment, “Some Tag”).commit(); 上面的行崩溃了我的app和logcat显示“cant set tag to fragment”,我知道我在做一些愚蠢的错误 这是我片段的完整代码。 如果能指导我在哪里编写用于设置片段标记的代码,我将非常感激。 提前致谢。 public class MatchesListingFragment extends Fragment implements ActionBar.TabListener { Context context; SectionsPagerAdapter mSectionsPagerAdapter; ViewPager mViewPager; ActionBar actionBar; Matchlistings db; Bundle savedInstanceState; Fragment livescore,fixture,results; @Override public void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); this.savedInstanceState = savedInstanceState; db = new Matchlistings(getActivity()); } […]

查看寻呼机和列表视图

有谁知道这一次发生的原因和原因? java.lang.ClassCastException: android.support.v4.view.ViewPager$LayoutParams cannot be cast to android.widget.AbsListView$LayoutParams at android.widget.ListView.clearRecycledState(ListView.java:519) at android.widget.ListView.resetList(ListView.java:506) at android.widget.ListView.layoutChildren(ListView.java:1540) at android.widget.AbsListView.onLayout(AbsListView.java:2296) at android.view.View.layout(View.java:14055) at android.view.ViewGroup.layout(ViewGroup.java:4604) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1655) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1513) at android.widget.LinearLayout.onLayout(LinearLayout.java:1426) at android.view.View.layout(View.java:14055) at android.view.ViewGroup.layout(ViewGroup.java:4604) at android.widget.FrameLayout.onLayout(FrameLayout.java:448) at android.view.View.layout(View.java:14055) at android.view.ViewGroup.layout(ViewGroup.java:4604) at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1141) at android.view.View.layout(View.java:14055) at android.view.ViewGroup.layout(ViewGroup.java:4604) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1655) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1513) at android.widget.LinearLayout.onLayout(LinearLayout.java:1426) at android.view.View.layout(View.java:14055) at android.view.ViewGroup.layout(ViewGroup.java:4604) at android.widget.FrameLayout.onLayout(FrameLayout.java:448) at […]

使用ViewPager更改选项卡时重新创建片段

我有一个带有4个标签的ViewPager 。 我正在使用扩展FragmentPagerAdapter的自定义适配器。 问题是,当我更改选项卡时,第一个Fragment会再次创建,尽管它不是当前可见的。 此外,这仅在第四次更改选项卡后发生。 例如tab1 – > tab2 – > tab3 =>来自tab1的onStop被调用。 – > tab2 =>调用tab1中的onCreateView (未调用onAttach )。 我想避免这个。 我需要所有选项卡始终保持其状态,即使它们当前未显示。 我怎样才能做到这一点?

如何更改Android ViewPager背景颜色?

ViewPager背景是灰色的。 我在互联网上找不到任何明确的文章,显示如何只用黑色改变背景颜色。任何想法将不胜感激。

如何设置ViewPager大小

我可以设置viewpager的大小吗? 像image1,我想在同一个屏幕上显示3页。 如果没有,我只能使用LinearLayout?

想要使用ViewPager,无法获得android.support。*被识别?

编辑对所有图片抱歉。 我试图让你最清楚我在哪里。 我正在尝试让ViewPager处理我的应用程序,但它无法识别我在SDK管理器中下载的Support Library 。 我正在编写SDK版本10.这是我的SDK Manager的屏幕截图: 安装Android Support Library和最新的Tools ,我转到帮助>>检查更新 。 运行后,我收到下面显示的两个popup窗口。 Problem Occuredpopup窗口说它无法在该站点find存储库。 我在第一次开始开发这个应用程序时安装了Sequoyah Natice Code Support ,但从未使用它。 我试图重新安装包以摆脱这个popup窗口,但它不会让我,因为它已经安装。 在我的代码中,我在尝试import android.support.v4.view.ViewPager;时遇到错误import android.support.v4.view.ViewPager; 。 屏幕截图如下。 当我将光标hover在import行上时,它表示The import android.support.v4 cannot be resolved.