ViewPager第一页滚动/滑动总是很慢

时间:2015-02-14 11:47:54

标签: android android-fragments android-asynctask android-viewpager

我有一个自定义创建的ViewPager,其中适配器填充了主要活动的asynctask。问题是无论滑动内容(或整个内容)有多小,首页滑动事件总是很慢。

如何确定页面滑动不会延迟。(或者这是jvm的工作方式吗?

这里是我的asynctask;

class InitTask extends AsyncTask<Void,String,Void>
{
     @Override
     protected void onPreExecute() {

         categoryDbApt = new CategoryDbAdapter(getBaseContext());

         tab1 = (Button) findViewById(R.id.tab1);
         tab2 = (Button) findViewById(R.id.tab2);
         tab3 = (Button) findViewById(R.id.tab3);
         cvp = (CustomViewPager) findViewById(R.id.cvp);
         mainLayout = (LinearLayout) findViewById(R.id.mainLayout);
         mainLayout.setWillNotDraw(false);
         ll = (LinearLayout) findViewById(R.id.ll);
         ll.setWillNotDraw(false);
         lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
                 LinearLayout.LayoutParams.MATCH_PARENT,0);
         sa = new SliderAdapter(getSupportFragmentManager());

         getSupportActionBar().setTitle(getResources().getString(R.string.dashboard));

     }

    @Override
    protected void onProgressUpdate(String... values) {
        super.onProgressUpdate(values);
        Toast.makeText(getBaseContext(),values[0],Toast.LENGTH_LONG).show();
    }

    @Override
     protected Void doInBackground(Void... voids) {

         fDashboard = new FragmentDashboard();
         fExpense = new FragmentExpense();
         fExpenseAdd = new FragmentExpenseAdd();
         fIncome = new FragmentIncome();
         fIncomeAdd = new FragmentIncomeAdd();

         fragmentList = new ArrayList<>();
         fragmentList.add(fIncomeAdd);
         fragmentList.add(fIncome);
         fragmentList.add(fDashboard);
         fragmentList.add(fExpense);
         fragmentList.add(fExpenseAdd);

         cvp.setAdapter(sa);
         cvp.setCurrentItem(2);
         cvp.setOffscreenPageLimit(4);

         setListeners();
         firstTimeCheck();


         return null;
     }

     @Override
     protected void onPostExecute(Void aVoid) {

     }
}

这里是我的自定义视图分页器类;

public class CustomViewPager extends ViewPager {

    public CustomViewPager(Context context) {
        super(context);
    }

    public CustomViewPager(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    public boolean onInterceptTouchEvent(MotionEvent event) {
        // Never allow swiping to switch between pages
        return false;
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        // Never allow swiping to switch between pages
        return false;
    }

    @Override
    void smoothScrollTo(int x, int y, int velocity) {
        super.smoothScrollTo(x, y, 1);
    }
}

0 个答案:

没有答案