Articles of android viewpager

Android viewpageranimation

我希望在此函数调用后animation结束时收到通知: viewPager.setCurrentItem(2, true); 有谁知道怎么做到这一点?

Android在片段内刷新ViewPager

我曾尝试在发布之前搜索SO,但我无法理解如何刷新托管在片段内的ViewPager的内容。 你能帮我吗? 感谢您的时间 在这里我的代码。 我在其中托管ViewPager的片段活动。 它显示不同的小部件和ViewPager显示不同的图像,我从代码中的db“carosello”调用返回的图像列表。 当我执行搜索时,我将refresh()方法称为来自托管此片段的主活动的回调,并再次设置所有视图。 适用于片段中的所有信息,但不适用于ViewPager:始终显示最早(首次创建)的图像。 public class Page2FamigliaFragment extends Fragment { //… variable declaration @Override public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState) { // fragment not when container null if (container == null) { return null; } // inflate view from layout View view = (LinearLayout)inflater.inflate(R.layout.famiglia_page2,container,false); //retrieve my object from the main view […]

如何在ViewPager适配器中获取String资源?

我试图为我的viewpager设置标题,我似乎无法让它工作。 我尝试过Resources.getSystem()。getString(R.string.title1); 并试图传递一个上下文。 谁能帮助我? public class ViewPagerAdapter extends FragmentPagerAdapter { final int PAGE_COUNT = 3; Context context; public ViewPagerAdapter(FragmentManager fm) { super(fm); } @Override public int getCount() { return PAGE_COUNT; } @Override public Fragment getItem(int position) { return PageFragment.create(position + 1); } @Override public CharSequence getPageTitle(int position) { switch (position) { case 0: return Resources.getSystem().getString(R.string.title1); […]

如何在Android中的PagerAdapter中重复对象instantiateItem()

我的logcat打印第一次在重复此方法后占据位置0并取位置1,我不需要重复此方法。 public Object instantiateItem(ViewGroup container, int position) { Context context = MainActivity.this; Log.d(“position”,”position” +position); ImageView imageView = new ImageView(context); int padding = context.getResources().getDimensionPixelSize( R.dimen.padding_medium); imageView.setPadding(padding, padding, padding, padding); imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE); imageView.setImageResource(mImages[position]); ((ViewPager) container).addView(imageView, 0); return imageView; } 图像幻灯片中的这段代码成功运行但是图像的第一次滑动和最后一次错误的logcat打印位置帮助我。 谢谢。 编辑: public class MainActivity extends Activity { ViewPager viewPager; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); […]

使用FragmentStatePagerAdapter时刷新片段视图

似乎之前讨论过刷新问题,但没有一个解决方案适合我。 我想要做的是:我正在使用FragmentStatePagerAdapter。 适配器的每个位置都包含一个片段,该片段具有象状外观的线性布局,每个单元格由CheckedTextView表示。 并且应该监听点击并且删除单元格上的先前选择并进行新选择的监听器。 什么工作:每个片段都正确加载所有数据/默认状态(片段加载到列表中时计算) 当我单击一个单元格时,保存的单元格列表中的所有状态都被正确获取,我可以在调试时更改代码中的状态更改。 同时我为CheckedTextView指定一个表示单元格的新状态。 这设置如下: CheckedTextView cellView = (CheckedTextView) GridRow.getChildAt(c); cellView.setSelected(false); cellView.setChecked(false); cellView.setTag(cellsChess.get(i).get(c)); 问题:即使正确存储和分配了值,也无法刷新视图,视图中单元格的值不会更新。 我试过的提示没有用: 1。调用adapter.notifyDataSetChanged:只有在我们被覆盖时才能使用FragmentStatePagerAdapter调用: @Override public int getItemPosition(Object object){ return POSITION_NONE; } 2.为DestroyItem添加Overriden方法,并将片段添加到getItem上的Map: 这是不合适的,因为我正在使用FragmentStatePagerAdapter,因此使用此pagerAdapter的整个目的将消失。 3.调用invalidate:这不适合这种情况,我需要实时刷新。 4. instantiateItem()中的setTag()方法:我不认为这种情况适合。 引用的线程: 在恢复活动时刷新FragmentStatePagerAdapter上的图像 ViewPager PagerAdapter未更新视图 动态更新ViewPager? notifyDataSetChanged无法更新ListView 我试图尽可能清楚地说明我的问题,如果有人需要更多澄清,请问。 紧急回复将受到高度赞赏, 干杯 ****更新***** 我使用的是ViewPagerIndicator,而不是默认的ViewPager。

Android – Viewpager和片段,方法不起作用

我有一个带有两个Fragments的ViewPager ,我在FragmentActivity onCreate中实例化。 private List fragments = new Vector(); fragments.add(Fragment.instantiate(this,Frag_1.class.getName())); fragments.add(Fragment.instantiate(this,Frag_2.class.getName())); this.vPagerAdapter = new Adapt(super.getSupportFragmentManager(),fragments); vPager = (ViewPager) super.findViewById(R.id.pager); vPager.setAdapter(vPagerAdapter); 我的第二个Fragment里面有一个方法,我调用它来更新我的ListView – refreshList() : public class Frag_2 extends Fragment { private ListView list; private ArrayList data; private boolean firstCreation=true; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.setRetainInstance(false); } public void onAttach(Activity activity) { // TODO Auto-generated […]

最新Android支持库上的Vertical Viewpager会出现错误

我正在使用Jake Wharton的VerticalViewpager,但它为最新的Android支持库提供了错误: package android.support.v4.view; public final class VerticalViewPagerCompat { private VerticalViewPagerCompat() {} public interface DataSetObserver extends PagerAdapter.DataSetObserver {} public static void setDataSetObserver(PagerAdapter adapter, DataSetObserver observer) { adapter.setDataSetObserver(observer); } } 错误是“PagerAdapter.DataSetObserver无法解析为types”。 最新的支持库已经改变了DataSetObserver的行为,并且Vertical Viewpager不再起作用。 有谁知道如何解决这个问题?

在viewpager上,Setadapter和SetCurrentItem删除由pagetransform设置的转换

我在我的应用程序中使用viewpager动态加载视图并水平滚动它们。 我还使用了pageTransform来缩放下一个和上一个视图。 从中获取了代码 http://developer.android.com/training/animation/screen-slide.html 每个下一个视图都取决于先前视图的用户响应。 在每个OnPageSelected上,我正在加载下一个视图 mPagerAdapter.addView(ViewToBeAdded, AddAtPostion); //Empty previous view holder mViewPager.setAdapter(mPagerAdapter); 问题第1步:一旦我执行了setAdapter,整个viewpager就会滚动到第一个位置,(我不知道为什么会这样)。 问题第2步:为了规避问题1,我打电话给 mViewPager.setCurrentItem(AddAtPostion, false);. //如果我使用第二个参数调用为true,则viewPager会从第一个项目滚动到当前项目。 但是,当我调用它时,pageTransform设置的转换将被删除(因为仅在滚动时应用get),并且显示前一个视图持有者而不进行任何转换。 问题第3步:为避免问题2,我添加了runnable来调用setCurrentItem后的假拖动(从尽快将PageTransformer应用到PagerView ) private Handler mhandler = new Handler(); private Runnable mrunnable = new Runnable() { public void run() { mViewPager.beginFakeDrag(); mViewPager.fakeDragBy(0f); mViewPager.endFakeDrag(); } }; //Called as mhandler.postDelayed(mrunnable, 10); after setCurrentItem. 这确实解决了我应用转换的问题。 但是,在应用转换之前,会看到一个空视图支架的闪光。 我不知道该怎么做。 我是Android的初学者,不知道如何解决任何问题。 如果问题1本身得到解决,我就不必find解决方法。 下面发布的是添加视图的代码,并使用空布局扩展上一个视图 […]

从标签碎片导航时,如何避免聚焦最后一个EditText?

我在ViewPager中有3个选项卡。 默认情况下,选项卡2中的焦点位于第一个EditText中。 当我从选项卡2导航到选项卡3并返回时,我发现焦点位于选项卡2的最后一个 EditText中。如果我转到选项卡1然后返回,焦点将返回第一个EditText。 因此,当我向右“导航”时,焦点将转移到我所在片段的最后一个EditText。 我不想要这个。 我想把焦点放在我离开它的位置或默认位置。 此外 ,我不想简单地在返回时将焦点带回第一个EditText,因为它会在第一个位置向上滚动我的页面时最后一个EditText。 我希望它在我的EditText中向上滚动焦点。 当我滑动到Tab 3时,有没有办法阻止焦点转到标签2中的最后一个EditText?

我们如何创建圆柱形viewpager?

我试图实现像这样的圆柱形视图寻呼机(而不是方形页面,我需要圆形页面)。 我尝试使用上一页和下一页边界的ViewPager 我该如何制作这样的视图?