Articles of android viewpager

将ViewPager与Fragments一起使用时,会在滑动时销毁碎片

我的应用程序有一个ViewPager,其适配器返回三个片段。 每个Fragment都会在onCreateView中从Web加载一个数据列表。 让我们称这些片段为A,B,C。 打开包含viewPager的活动后,将加载片段A和B. 但现在只有A可见。 因此,如果我向右滑动,则B可见,C在场景后面加载。 如果我再次向右滑动,则可以看到C. 问题是,片段A的onDestroyView()被调用,所有加载的数据都消失了! 因此,如果我回到片段A,则再次调用A的onCreateView(),并再次从Web加载A的数据。 与Fragment一起使用时,它是ViewPager的默认行为吗? 是否可以将片段活着(通过不调用onDestroyView()),即使它不可见? 谢谢

在ViewPager中,在滑动到第3个选项卡时,tab1中的子片段消失

我在FragmentStatePagerAdapter中有3个选项卡。 我有一个标签1的片段,它动态地在相对布局中为其’linearlayout’容器添加视图。 我在tab 1片段中动态添加一些视图。 我还在该linearLayout容器中添加了一个完整的片段,其中包含其他视图。 这很好..每件事都很好。 但是当我去第3页然后回来。 所有观点都在那里。 但那个完整的片段消失了~~ 编辑 它从tab1消失,并出现在tab2中的视图下方,其中添加了另一个子片段。 首先,我在tab1和tab2中有一个listFragment。 基于listItem单击我在每个选项卡中加载一个片段,tab1和2中的两个片段在xml下面膨胀相同并添加动态视图,但在某些情况下,我在xml中给出的线性布局中添加一个完整的片段而不是视图。 当我必须在选项卡1和tab2中的两个新添加的片段中添加两个片段之后,只有列表,并滑动到tab3时出现问题。 回来了。 ‘tab1主片段’中的片段消失并出现在’tab2主片段’中的片段下方 这是viewpager,我通过方法setItem(片段,位置)更改不同的片段: public static class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter { public static ArrayList tabs_fragments = new ArrayList( 3); public ScreenSlidePagerAdapter(FragmentManager fm, ArrayList tabs) { super(fm); ScreenSlidePagerAdapter.tabs_fragments = tabs; } @Override public Fragment getItem(int arg0) { return tabs_fragments.get(arg0); } @Override public int […]

ViewPager中的Android Master / Detail流程

我遇到了一个我无法解决的问题,我google了很多但找不到解决方案。 在我的应用程序中,我有一个包含3页的ViewPager。 这些页面应该是碎片。 这没关系。 但是,其中两个页面必须是主/明细流(一个用于朋友列表,一个用于新闻订阅)。 当我使用eclipse 2片段创建主/细节流时,会创建2个活动。 ItemListActivity(需要显示的那个)实现了片段的Callbacks,这是一个Activity,但ViewPager只接受片段内部的片段。 所以问题是:如何将主/细节流放在ViewPager中? 非常感谢所有帮助! 我在这里完全没有想法。 谢谢

PagerTabStrip中的一些问题和困难

我已经实现了一个可滚动的标签+滑动,一切正常。 但是我有一些与当前PagerTabStrip相关的问题: 我不能把目前的头衔变成大胆的 2.在渲染视图时,无法选择我想要显示的默认选项卡(例如:位置为2的选项卡),例如Google Play应用中的标签 3.第一个和最后一个选项卡分别在左侧和右侧有一个边距,我可以将它设置为0dp吗? 这是我可以为标签设置样式的方法: Java: strip = (PagerTabStrip) findViewById(R.id.pager_tab_strip); strip.setTabIndicatorColorResource(R.color.light_blue); strip.setDrawFullUnderline(true); 布局: 任何人都能帮助我3分吗? 谢谢。

在fragment中调用时,getTag()始终返回null

我有一个问题,因为当我在片段中调用它时,getTag()方法返回null,这是我创建的ViewPager选项卡布局的一部分。 码 import java.util.ArrayList; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentTransaction; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ListView; import android.widget.Toast; public class HistoryFragment extends Fragment { ListView listView; HistoryAdapter adapter; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View history = inflater.inflate(R.layout.fragment_history, container, false); ArrayList arrayOfData = new ArrayList(); adapter = new HistoryAdapter(getActivity().getBaseContext(), […]

如何将viewPager的方向从左向右颠倒?

我有几个视图的viewPager。 viewPager的默认行为是首先显示第一个项目,然后从右向左滑动显示当前视图的第二个视图等。 我想要的行为是,在显示第一个项目后, 从左向右滑动将显示当前项目的下一个视图。 我搜索了很多聪明的方法来实现这个但没有结果.. 提前致谢。

如果设置了PageTransformer,则在滚动时ViewPager似乎重新启用clipChildren

我有一个ViewPager,其clipToPadding和clipChildren都设置为false。 寻呼机中的项目具有阴影效果,该效果在每个项目下方绘制,超出其边界。 当寻呼机是静态时,这很好用: 但是,当在页面之间设置animation时,子项被剪裁,就像设置了clipChildren一样: 仅在设置PageTransformer时才会出现此行为。

不要在RecyclerView中回收特定的视图types

我有一个重用视图的循环器视图,我的问题是一个视图包含ViewPager,如果recyclelerview的适配器重用视图所在的视图,那么viewpager会发生exception。 但是,onCreateViewHolder方法仅在第一次调用时才会被调用。 我怎么能避免这种行为,并实现onCreateViewHolder可以被多次调用? 提前致谢

从ViewPager活动访问Fragment的方法

我有一个带有方法setName()的Fragment,它通过setText函数更改EditText文本。 从通过ViewPager托管该片段的活动调用该方法的最佳方法是什么? 换句话说,如何通过ViewPager从托管该片段的Activity访问Fragment的方法(例如,更改该片段的布局)? 我问这个是因为我尝试了几种方法,但总是有错误。

如何从viewpager和pageradapter中删除项目

我正在使用pageradapter和viewpager来显示imageview数组,textview数组。但是如何在按钮点击时删除寻呼机。下面的代码中的代码,但是我在xml onclick中添加了按钮应该删除页面。 http://www.androidbegin.com/tutorial/android-viewpager-gallery-images-and-texts-tutorial/ package com.androidbegin.viewpagertutorial; import android.content.Context; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.Button; import android.widget.ImageView; import android.widget.RelativeLayout; import android.widget.TextView; public class ViewPagerAdapter extends PagerAdapter { // Declare Variables Context context; String[] rank; String[] country; String[] population; int[] flag; LayoutInflater inflater; public ViewPagerAdapter(Context context, String[] rank, String[] country, […]