package com.bosi.chineseclass.fragments; import java.util.ArrayList; import java.util.List; import android.view.Gravity; import android.view.View; import android.widget.LinearLayout; import com.bosi.chineseclass.AppDefine; import com.bosi.chineseclass.BaseFragment; import com.bosi.chineseclass.R; import com.bosi.chineseclass.bean.BphzBean; import com.bosi.chineseclass.db.BPHZ; import com.bosi.chineseclass.han.components.HeadLayoutComponents; import com.bosi.chineseclass.model.BphzLevAdapter; import com.bosi.chineseclass.views.BSGridView; import com.lidroid.xutils.view.annotation.ViewInject; public class BphzLevFragment extends BaseFragment { @ViewInject(R.id.ll_bphz_body) LinearLayout mLayoutBody; BSGridView mGridView; @ViewInject(R.id.headactionbar) View mViewHead; List<BphzBean> mAdapterDataList = new ArrayList<BphzBean>(); @Override protected View getBasedView() { return View.inflate(mActivity, R.layout.layout_bphz, null); } BphzLevAdapter mBphzLevAdapter; @Override public void onResume() { super.onResume(); getDataAsy(); } @Override protected void afterViewInject() { HeadLayoutComponents mHead = new HeadLayoutComponents(mActivity, mViewHead); mHead.setTextMiddle("爆破汉字", -1); mGridView = new BSGridView(mActivity); mGridView.setGravity(Gravity.CENTER_HORIZONTAL); mGridView.setNumColumns(5); mGridView.setVerticalSpacing(20); mGridView.setCacheColorHint(0); mLayoutBody.addView(mGridView); mGridView.setAdapter(new BphzLevAdapter(mActivity, null)); mBphzLevAdapter = new BphzLevAdapter(mActivity, mAdapterDataList); mGridView.setAdapter(mBphzLevAdapter); getDataAsy(); } // 模拟一次进度 protected void getDataAsy() { mActivity.updateProgress(1, 2); mActivity.AsyTaskBaseThread(new Runnable() { @Override public void run() { mAdapterDataList = getLists(); } }, new Runnable() { @Override public void run() { mActivity.runOnUiThread(new Runnable() { @Override public void run() { mActivity.updateProgress(2, 2); updateUI(); } }); } }); } private void updateUI() { mBphzLevAdapter.changeDataSource(mAdapterDataList); } // 放到异步任务中去做 private List<BphzBean> getLists() { BPHZ mBphz = new BPHZ(); List<BphzBean> mLists = new ArrayList<BphzBean>(); for (int i = 1; i <= 15; i++) { BphzBean mBpHzBean = new BphzBean(); mBpHzBean.mDictIndex = i - 1; int startSize = (mBpHzBean.mDictIndex * 500 + 1); int endSize = (i * 500); // 如果是最后一个统计的view 的话 最小值1 最大值 7000 if (i == 15) { mBpHzBean.mNumberBetween = 1 + "-" + 7000; mBphz.getListBpHzBeans(mActivity,1, AppDefine.ZYDefine.BPHZ_REFID_ADDED + 7000, mBpHzBean); } else { mBpHzBean.mNumberBetween = startSize + "-" + endSize; mBphz.getListBpHzBeans(mActivity,AppDefine.ZYDefine.BPHZ_REFID_ADDED + startSize, AppDefine.ZYDefine.BPHZ_REFID_ADDED + endSize, mBpHzBean); } mLists.add(mBpHzBean); } return mLists; } }