Articles of android viewpager

每当我浏览应用程序viewPager时,为什么我的片段onCreate被广泛调用?

我不太了解这个片段生命周期业务。 我的应用程序的“查看详细信息”部分有一个非常标准的3页水平滑块视图寻呼机布局。 我在三个中间页面上启动我的应用程序。 我的FragmentActivity将页面设置为第1页。 mPager.setCurrentItem(1); //default to center page, current data view fragment 我一直在使用FragmentStatePagerAdapter,因为使用FragmentPagerAdapter有时会崩溃我的应用程序,例如从暂停状态返回时,这是解决此问题的最快方法。 似乎工作,但我怀疑国家方面可能是我的问题的原因,也许。 所以起初我以为我会让每个片段完成从rest服务获取数据然后在列表中显示它的工作,但我不再那么肯定了。 我尝试运行一个唯一的异步任务来获取onCreateView事件中每个片段中的数据。 然后在更多关于片段生命周期的内容后,我切换到onCreate,注意到onCreateView被大量调用,这反过来又成了一个贪婪的应用程序,经常通过网络请求数据。 切换到onCreate没有改变任何东西。 对于2个相邻的片段,OnCreate的调用仍然与onCreateView一样多。 奇怪的是,我设置为第一个在Fragment Activity中显示的片段只获得onCreate一次调用。 这里感觉不舒服。 现在我想我应该让父片段活动声明并调用所有异步任务来获取我需要在片段中显示的数据。 在父片段活动拥有的对象中设置异步调用的结果,然后让片段使用父级包含的对象来创建列表视图等。 但是,如果父活动启动的异步任务在调用每个片段onCreateView之前没有完成,并且父级包含的对象尚未准备就绪….. 签名,困惑和沮丧

无法使用Ant构建Android应用程序(请参阅ActionBarSherlock和ViewPagerTabs)

我有一个使用ActionBarSherlock和ViewPagerTabs的Android应用程序。 我使用Eclipse来编写和构建它,它一直运行良好,直到我尝试使用Ant构建它。 这是我做的: 转到ActionBarSherlock文件夹,运行“android update lib-project –path”。 转到ViewPagerTabs文件夹,运行“android update lib-project –path”。 太 转到app文件夹,运行“android update project –path”。 在app文件夹下运行“and debug”,我收到以下错误: : [javac] C:\Android\TestApp\src\com\test\App\TestActivity.java:46: cannot find symbol [javac] symbol : method getSupportActionBar() [javac] location: class com.test.App.TestActivity [javac] final ActionBar ab = getSupportActionBar(); [javac] ^ 所以问题没有。 1: 我在app的project.properties中有正确的库引用,ActionBarSherlock和ViewPagerTabs可以成功构建,为什么我仍然会收到这些错误? 这个问题有一个解决方法 – 将库的bin文件夹下的所有classes.jar复制到app的libs文件夹中,然后再次运行“ant debug”。 但是我需要删除app的libs文件夹下的这些.jar文件,然后才能编译app的所有.java文件。 在此之后再次运行“ant debug”,我将收到以下错误: [dx] processing archive C:\Android\ActionBarSherlock\library\bin\classes.jar… […]

片段布局内的MapView(android maps api v2)不显示

我正在使用viewpager在2个操作栏选项卡之间滑动(使用eclipse向导进行此类导航)。 我正在使用android maps v2 api。 我想在我的一个标签里面有mapview,button和textview(我猜想有mapfragment是不可能的)。 我从xml扩展我的片段的布局,如下所示: public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment return inflater.inflate(R.layout.first_tab_fragment, container, false); } } 我的first_tab_fragment.xml: 不显示MapView,只显示textview和按钮。 我也没有错。 我是否必须编写一些代码来初始化mapview?

通过buttonClick更改viewpager片段

我正在尝试通过单击按钮来更改viewpager片段。 我有5个片段,每个片段都有自己的xml文件(frag1.xml,frag2.xml等)。 每个片段都有5个按钮,应该转到viewpager的其他页面。 但问题是我如何检查FragmentPageAdapter单击了哪个按钮以及如何到达那里? 我会展示我的代码然后应该清楚我认为。 可以把它想象成一个底部有点的主屏幕,点击某个点,你就会进入相应的屏幕。 FragmentPagerAdapter public class MyFragmentPagerAdapter extends FragmentPagerAdapter{ final int PAGE_COUNT = 6; /** Constructor of the class */ public MyFragmentPagerAdapter(FragmentManager fm) { super(fm); } /** This method will be invoked when a page is requested to create */ @Override public Fragment getItem(int arg0) { switch(arg0){ case 0: return new Fragment1(); […]

android viewpager中的幻灯片?

我有android viewpager幻灯片的问题。 我希望在最短时间后显示viewpager布局。 这是我的代码示例。 我的主要课程: public class MainActivity extends Activity { private ViewPager mViewPager; private SwipeAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mViewPager = (ViewPager) findViewById(R.id.pager); // set the adapter adapter = new SwipeAdapter(MainActivity.this); mViewPager.setAdapter(adapter); mViewPager.setOnPageChangeListener(new OnPageChangeListener() { @Override public void onPageSelected(int position) { } @Override public void onPageScrolled(int arg0, float arg1, […]

Recycler view + View Pager + Nested ScrollView + CoordinatorLayout

我正在进行布局,使得包含包含回收器视图的片段的ViewPager放置在协调器布局的nester scrollView中。 问题是,一旦我点击了回收站视图,嵌套的滚动视图就不起作用了。 是否有任何可能的方法来使这些布局也滚动 <!—->

PageTransformer转换中的ViewPager边距

我有一个ViewPager,其中每个视图都代表卡片上的卡片。 每张卡片使用ViewPager边距在边框上有阴影: cardsViewPager.setPageMargin(getResources().getDisplayMetrics().widthPixels / 20); cardsViewPager.setPageMarginDrawable(R.drawable.shadow); 它按预期工作。 但是,如果我添加一个PageTransformer,以便右边的卡片堆叠在左侧的卡片上: public class ScalePageTransformer implements PageTransformer { private final ViewPager mViewPager; public ScalePageTransformer(ViewPager viewPager) { this.mViewPager = viewPager; } @Override public void transformPage(View page, float position) { if (position -pageWidth) { page.setTranslationX(translateValue); } else { page.setTranslationX(0); } } } } 我是这样做的: cardsViewPager.setPageTransformer(false, new ScalePageTransformer(cardsViewPager)); 但现在,保证金不会出现。 如果我在PageTransformer上有一个缩小效果,我可以看到当前卡片缩小的时间,可绘制的边距低于屏幕上当前的卡片。 这是一张描述正在发生的事情的图片: 红卡顶部正在从右向左滑动蓝卡。 […]

动态更新TabLayout而不更改选定的选项卡

我想用Material Design Support库实现一个向导。 我正在使用ViewPager和Tablayout但我在动态添加新标签时遇到问题。 首先,我在onCreate方法中设置我的小部件: viewPager = (ViewPager) findViewById(R.id.tab_viewpager); tabLayout = (TabLayout) findViewById(R.id.tab_layout); adapter = new ViewPagerAdapter(getSupportFragmentManager()); adapter.addFrag(new DummyFragment(), “1”); adapter.addFrag(new DummyFragment(), “2”); viewPager.setAdapter(adapter); tabLayout.setupWithViewPager(viewPager); 然后我想在单击列表中的元素时添加另一张卡片: adapter.addFrag(new DummyFragment(), “3”); adapter.notifyDataSetChanged(); tabLayout.setTabsFromPagerAdapter(adapter); 问题是:添加后,所选卡首先重置。 如何防止这种行为?

如果达到setOffscreenPageLimit,则位于ViewPager中的片段中的Android RecyclerView不会重新加载/刷新视图

我在Fragment有一个RecyclerView ,它再次出现在ViewPager ,当我在ViewPager页面之间滑动时,我看到onDetach of Fragment被调用但由于某种原因, RecyclerView仍然存在于ViewPager Fragment特定位置,甚至是当我回到分离的片段时, RecyclerView滚动位置被保留。 我正在为ViewPager使用FragmentStatePagerAdapter ,我从getItemPosition()返回POSITION_NONE但它没有任何效果。 请帮我理解这里的问题。

2 ViewPager在Android 2.3中不滚动

我在我的应用程序中使用导航抽屉,其中包含一些片段,如下图所示。 每个片段包含另一个ViewPager,它是一个ImageSlider,下面是Listview,在顶部我使用的是SwipeRefreshLayout。 我的问题是图像滑块在Android 3.0或更高版本的设备上运行良好,但向左或向右滑动不适用于设备2.3及更低版本,而是调用父ViewPager的滑动,即导航片段。 我正在使用支持版本4库来支持低于3.0的设备。 所有function在2.3设备上运行良好,除了那个。 我用谷歌搜索了它,但我在任何地方都没有find任何帮助。 所以为了让它滚动我应该为此做什么,任何想法/帮助将受到高度赞赏。