public void start() { if (mAdapter == null) { throw new RuntimeException("you must call setAdapter() before start"); } if (!isStarted && mAdapter.getCount() > 1) { isStarted = true; postDelayed(mRunnable, mGap); } }
/** 设置banner的数据 */ public void setAdapter(BaseBannerAdapter adapter) { if (adapter == null) { throw new RuntimeException("adapter must not be null"); } if (mAdapter != null) { throw new RuntimeException("you have already set an Adapter"); } this.mAdapter = adapter; mAdapter.setOnDataChangedListener(this); setupAdapter(); }
private void setupAdapter() { removeAllViews(); if (mAdapter.getCount() == 1) { mFirstView = mAdapter.getView(this); mAdapter.setItem(mFirstView, mAdapter.getItem(0)); addView(mFirstView); } else { mFirstView = mAdapter.getView(this); mSecondView = mAdapter.getView(this); mAdapter.setItem(mFirstView, mAdapter.getItem(0)); mAdapter.setItem(mSecondView, mAdapter.getItem(1)); addView(mFirstView); addView(mSecondView); mPosition = 1; isStarted = false; } setBackgroundDrawable(mFirstView.getBackground()); }