我在这里看到了一些类似的帖子,但没有合适的答案。
我使用事件 onpageselected in a viewpager 来执行一个函数。此功能依赖于网络,因此可能需要一些时间。但是幻灯片动画看起来很慢。
mViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int i, float v, int i2) {
}
@Override
public void onPageSelected(int i) {
makeSomeHeavyTask();
}
@Override
public void onPageScrollStateChanged(int i) {
}
});
繁重的任务:
public void makeSomeHeavyTask() {
handler.post(new QueryRunnable());
}
有办法解决吗?谢谢
最佳答案
使用 AsyncTask
完成繁重的任务。在此处查看已接受的答案 AsyncTask: where does the return value of doInBackground() go?
编辑:您需要先在 getView
中返回一个占位符。如果 getView
方法必须等待线程完成,那么动画肯定会滞后。返回的占位符稍后可用于在线程结束后进行发布。
关于java - Android:Viewpager OnPageChangeListener onpageselected 干扰幻灯片动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21320214/