Articles of android viewpager

如何获得FragmentPagerAdapter的当前位置?

我有一个适配器扩展FragmentPagerAdapter并利用ICS风格的actionBar。 该操作栏具有从当前select的页面获取input的操作。 具体来说,我在操作栏中有一个截图图标,它显示当前页面的URL并显示来自该URL的任何截图。 但是,我不知道如何检索当前select的页面。 我怎样才能实现像 public int getActivePage() { return position; 我仍然在研究viewpager的实现,所以我的代码依然严重依赖于例子,所以忽略了这个混乱:P 问题领域如下所示。 public class ListFragmentViewPagerActivity extends FragmentActivity { ArrayList<String> URLS; ArrayList<String> TITLES; BroadcastReceiver receiver; String threadTitle = null; public static String threadUrl = null; String type = null; String threadAuthor = null; String ident = null; boolean isFav = false; String author = null; […]

Viewpager上的VideoView,切换页面时停止video

我有一个viewpager与不同的片段,其中一个有一个videoview在其中。 如果我在播放video的时候切换页面,那么即使我在不​​同的页面上,它也会重新播放。 我试着像这样实现ViewPager的OnPageChangeListener: viewpager.setOnPageChangeListener(new OnPageChangeListener() { @Override public void onPageSelected(int position) { if(position!=mAdapter.getCount()-1){ MultimediaFragment frag = (MultimediaFragment)mAdapter.getItem(position+1); frag.onPageIsChanged(); } if(position != 0){ MultimediaFragment frag = (MultimediaFragment)mAdapter.getItem(position-1); frag.onPageIsChanged(); } } 与onPageIsChanged()是我自己的方法,试图告诉我的videoview属性停止和隐藏控制: public void onPageIsChanged() { if(mVideoView!=null){ if(mVideoView.isPlaying()){ mVideoView.stopPlayback(); } mMedia.hide(); } } 问题是mVideoView总是空的,即使它在后台播放。 这个video是在片段的OnCreateView方法上创build的,但是不应该保持设置为我的mVideoView字段,直到片段被销毁?

如何在android滑动选项卡布局中alignment活动选项卡中心

我有Android项目中的12个项目布局+查看传呼机。 从左向右滑动时,选定的标签应该与Play商店相同。 请帮我怎么做。 在我的应用程序中,活动标签总是在屏幕左侧。

带有RecyclerView的Android ViewPager在BottomSheet中不正确地工作

当我尝试滚动列表,有时这工作不正确 – BottomSheet截获滚动事件和隐藏。 如何重现这一点: 打开底部表单 更改ViewPager的页面 尝试滚动列表 结果:BottomSheet将被隐藏。 这里是示例代码: 编译'com.android.support:design:23.4.0' MainActivity.java package com.nkdroid.bottomsheetsample; import android.os.Bundle; import android.support.design.widget.BottomSheetBehavior; import android.support.design.widget.TabLayout; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.TextView; public class MainActivity extends AppCompatActivity { private BottomSheetBehavior behavior; @Override protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); […]

如何使用视图寻呼机来处理返回button?

我有使用视图寻呼机呈现的两个碎片碎片A和碎片B. 如果用户已经从A刷到B然后按下返回button(当在B)时,那么用户应该去A而不是从视图寻呼机出来。 我们怎样才能做到这一点? 将交易添加到堆栈似乎没有帮助。 谢谢

具有相同类的多个片段实例的ViewPager

我正在尝试创build一个包含5个片段的ViewPager。 5个片段“容器”,所以他们每个都包含2个片段。 4个第一个片段具有相同的布局,属于同一个类别。 第五个来自另一个class级,这个没有问题。 问题是,当活动启动时,只有1个片段似乎正在工作(viewPager中位置0的一个)。 我尝试在我的PagerAdapter中的位置0处返回新的Fragment(),但是当我这样做的时候,它是正在工作的第二个片段。 (通过工作,我的意思是显示在左边的列表,我仍然没有照顾右边的细节片段) 这是一些代码 CustomPagerAdapter.java public class CustomPagerAdapter extends FragmentPagerAdapter{ public CustomPagerAdapter(FragmentManager fm) { super(fm); } public CustomPagerAdapter(FragmentManager fm, Context context) { super(fm); } @Override public Fragment getItem(int pos) { if(pos == 4) return new OtherContainerFragment(); else return new ContainerFragment(pos); } @Override public int getCount() { return 5; } ContainerFragment.java public […]

Androidasynchronous查看传呼机加载数据

我需要一个视图寻呼机实现的解决scheme。 首先我从单个页面的数据库中加载大量的数据,所以有时在刷卡过程中减慢了刷卡频率(你需要在页面上多次刷卡),就像在后台执行取出任务一样。 我没有使用asynchronous任务来返回视图。 有没有办法延迟加载页面,只允许用户在其他页面上刷卡,但数据被延迟加载。 我的代码示例如下所示; public Object instantiateItem(View container, int position) { View v; v = View.inflate(context,R.layout.swipearea, null); listView = (ListView)v.findViewById(R.id.MyListView); largeDataCall(); ((ViewPager)container).addView(v); return v; } 我正在调用这个创build方法。 pager=(ViewPager) findViewById(R.id.pagerAdapter); pager.setAdapter(new SimplePager(MyPager.this)); pager.setCurrentItem(364); 有没有解决办法?

当包含片段被重新创build时,ViewPager中的片段不会被加载

我有一个包含更多Fragment的ViewPager的Fragment MyFragment。 它第一次加载MyFragment时正常工作,但如果我回去重新创build它, ViewPager中的Fragments不会显示,因为方法FragmentPagerAdapter.getItem没有被调用。 我在用着 怎么了? import android.app.Fragment; import android.app.FragmentManager; import android.support.v13.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; … public class MyFragment extends Fragment { private ViewPager pager; private MyPagerAdapter adapter; private List<Fragment> fragmentList = new ArrayList<Fragment>(); public MyFragment() {} @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.my_fragment_layout, container, false); } public void onViewCreated(View v, […]

如何自动滑动android查看页面

查看传呼机是否可以自动滑动或自动接收 我有我的viewpager设置使用像下面的适配器,它工作正常: – @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.gridslide); ImagePagerAdapter mAdapter = new ImagePagerAdapter( getSupportFragmentManager(),4); ViewPager mPager = (ViewPager) findViewById(R.id.pager); mPager.setAdapter(mAdapter); } 而适配器如下所示: – public static class ImagePagerAdapter extends FragmentStatePagerAdapter { private final int mSize; public ImagePagerAdapter(FragmentManager fm, int size) { super(fm); mSize = size; } @Override public int getCount() { return mSize; […]

IllegalArgumentException:半径必须> 0

我正在使用AChartEngine库在视图寻呼机中devise条形图和饼图。 当我从条形图滚动到饼图时,应用程序崩溃。 崩溃报告如下。 FATAL EXCEPTION: main java.lang.IllegalArgumentException: radius must be > 0 at android.graphics.RadialGradient.<init>(RadialGradient.java:58) at org.achartengine.chart.PieChart.draw(PieChart.java:112) at org.achartengine.GraphicalView.onDraw(GraphicalView.java:168) at android.view.View.draw(View.java:11120) at android.view.ViewGroup.drawChild(ViewGroup.java:2901) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2503) at android.view.ViewGroup.drawChild(ViewGroup.java:2899) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2503) at android.view.ViewGroup.drawChild(ViewGroup.java:2899) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2503) at android.view.View.draw(View.java:11123) at android.support.v4.view.ViewPager.draw(ViewPager.java:2157) at android.view.ViewGroup.drawChild(ViewGroup.java:2901) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2503) at android.view.ViewGroup.drawChild(ViewGroup.java:2899) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2503) at android.view.ViewGroup.drawChild(ViewGroup.java:2899) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2503) at android.view.ViewGroup.drawChild(ViewGroup.java:2899) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2503) at android.view.ViewGroup.drawChild(ViewGroup.java:2899) at […]