Articles of android viewpager

带有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 […]

有没有办法在毕加索加载一个默认的图像

我无法从我的drawable中加载一张图片,因为毕加索只知道resons,所以无法加载毕加索,我想加载一个默认图片,请帮助 @Override public Object instantiateItem(ViewGroup container, final int position) { final Context context =getApplicationContext(); final ImageView imageView = new ImageView(getApplicationContext()); int padding = context.getResources().getDimensionPixelSize( R.dimen.padding_medium); imageView.setPadding(padding, padding, padding, padding); PicassoTools.clearCache(Picasso.with(context)); ((ViewPager) container).addView(imageView, 0); imageView.setTag("myview" + position); Picasso.with(context).load(mImages[position]).resize(320,280).centerInside().placeholder(placeholderDrawable) .into(imageView,new Callback() { @Override public void onError() { // TODO Auto-generated method stub imageView.setImageResource(R.drawable.c3); } @Override public void […]

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

我有一个使用ActionBarSherlock&ViewPagerTabs的Android应用程序。 我使用Eclipse来编写和构build它,直到我尝试使用Ant构build它时,它才运行良好。 以下是我所做的: 进入ActionBarSherlock文件夹,运行“android update lib-project -path”。 进入ViewPagerTabs文件夹,运行“android update lib-project –path”。 太 去app文件夹,运行“android update project –path”。 运行“和debugging”下的应用程序文件夹,我有以下错误: : [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: 我在应用程序的project.properties中有正确的库引用,并且可以成功构buildActionBarSherlock&ViewPagerTabs,为什么仍然会得到这些错误? 这个问题有一个解决方法 – 将库bin文件夹下的所有classes.jar复制到应用程序的libs文件夹中,然后再次运行“ant debug”。 但是我需要删除应用程序的libs文件夹下的这些.jar文件,所有应用程序的.java文件都可以被编译。 之后再次运行“antdebugging”,我会得到以下错误: [dx] processing archive C:\Android\ActionBarSherlock\library\bin\classes.jar… [dx] ignored […]

为什么当我通过我的应用程序viewPager进行翻页时,我的片段onCreate被广泛地调用?

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