package com.bosi.chineseclass.fragments;
import java.util.ArrayList;
import java.util.List;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
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.components.NiftyDialogComponents;
import com.bosi.chineseclass.components.NiftyDialogComponents.OnNiftyCallBack;
import com.bosi.chineseclass.db.BPCY;
import com.bosi.chineseclass.db.BPHZ;
import com.bosi.chineseclass.han.components.HeadLayoutComponents;
import com.bosi.chineseclass.han.util.PreferencesUtils;
import com.bosi.chineseclass.model.BpcyLevvAdapter;
import com.bosi.chineseclass.model.BphzLevAdapter;
import com.bosi.chineseclass.model.BphzLevvAdapter;
import com.bosi.chineseclass.views.BSGridView;
import com.lidroid.xutils.view.annotation.ViewInject;
public class BpcyLevvFragment extends BaseFragment {
@ViewInject(R.id.ll_bphz_body)
LinearLayout mLayoutBody;
BSGridView mGridView;
@ViewInject(R.id.headactionbar)
View mViewHead;
List<BphzBean> mAdapterDataList = new ArrayList<BphzBean>();
@ViewInject(R.id.bphz_remote_body)
LinearLayout mLayoutRemoteBody;
@Override
protected View getBasedView() {
return View.inflate(mActivity, R.layout.layout_bphz, null);
}
BpcyLevvAdapter mBphzLevAdapter;
int mCurrentXY;
@Override
protected void afterViewInject() {
mCurrentXY = PreferencesUtils.getInt(mActivity, "position");
HeadLayoutComponents mHead = new HeadLayoutComponents(mActivity,
mViewHead);
mHead.setTextMiddle("爆破成语", -1);
mGridView = new BSGridView(mActivity);
mGridView.setNumColumns(4);
mGridView.setVerticalSpacing(20);
mGridView.setCacheColorHint(0);
mLayoutBody.addView(mGridView);
mBphzLevAdapter = new BpcyLevvAdapter(mActivity, mAdapterDataList);
mGridView.setAdapter(mBphzLevAdapter);
mLayoutRemoteBody.setVisibility(View.VISIBLE);
initRemoteView();
}
@Override
public void onResume() {
super.onResume();
getDataAsy();
}
// 模拟一次进度
private 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);
}
BPCY mbphz = new BPCY();
NiftyDialogComponents mNiftyDialog;
private void showNotifyDialog() {
String msgForRemote = getResources().getString(
R.string.dialog_clearbphz_levvdata);
mNiftyDialog.setUpNifty("确认", "取消", "提示", msgForRemote);
mNiftyDialog.setNoftyCallBack(new OnNiftyCallBack() {
@Override
public void onBt2Click() {
mNiftyDialog.dismissBuilder();
}
@Override
public void onBt1Click() {
// 弹出一个提示框 用于确认是否删除数据
int mCurrentStartSize = mCurrentXY * 1000 + 1
+ AppDefine.ZYDefine.BPHZ_REFID_ADDED;
int mCurrentEndSize = mCurrentXY * 1000 + 1000
+ AppDefine.ZYDefine.BPHZ_REFID_ADDED;
mbphz.deleteDbBaseBetweenSE(mActivity, mCurrentStartSize,
mCurrentEndSize);
mNiftyDialog.dismissBuilder();
getDataAsy();
}
});
mNiftyDialog.showBuilder();
}
private void initRemoteView() {
// delete_bphz_basedictindexbetween
mNiftyDialog = new NiftyDialogComponents(mActivity);
View mViewRemote = View.inflate(mActivity, R.layout.bphz_levv_remote,
null);
Button mButtonClear = (Button) mViewRemote
.findViewById(R.id.bt_bphzlvv_clear_logdata);
mButtonClear.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
showNotifyDialog();
}
});
mLayoutRemoteBody.addView(mViewRemote);
}
// 放到异步任务中去做
private List<BphzBean> getLists() {
BPHZ mBphz = new BPHZ();
List<BphzBean> mLists = new ArrayList<BphzBean>();
int mCurrentBegan = mCurrentXY * 1000;
for (int i = 1; i < 11; i++) {
BphzBean mBpHzBean = new BphzBean();
mBpHzBean.mDictIndex = i - 1;
int startSize = mBpHzBean.mDictIndex * 100 + 1 + mCurrentBegan;
int endSize = i * 100 + mCurrentBegan;
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;
}
}