package com.pps.sharpturn.activity;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import com.pps.sharpturn.BaseActivity;
import com.pps.sharpturn.R;
import com.pps.sharpturn.db.DBManager;
import com.pps.sharpturn.model.SharpModel;
import com.pps.sharpturn.utils.FileUtils;
/**
* 脑筋急转弯展示
* @author jiangqingqing
*
*/
public class DetailsSmoothActivity extends BaseActivity {
private int mPosition;
private int mCurrent=0;
private int index=15;
private List<SharpModel> mSharpModels;
private SharpModel model;
private Button details_smooth_head_leftbtn; //顶部返回按钮
private TextView details_smooth_head_textview;//顶部标题
private ImageView details_smooth_prev; //上一题
private ImageView details_smooth_next; //下一题
private TextView details_smooth_tv_name; //问题
private TextView details_smooth_tv_answer; //答案
private Button detalis_smooth_btn_book; //收藏
private Button detalis_smooth_btn_answer; //显示答案
private Intent mIntent;
private DBManager mDbManager;
private static final int SUCCESS=1;
private Timer mTimer;
private TimerTask mTimerTask;
private Handler mHandler=new Handler(){
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case SUCCESS:
if(index!=0){
details_smooth_tv_answer.setText("思考中:"+index);
}else {
details_smooth_tv_answer.setText("点击答案按钮,显示答案!");
if(mTimerTask!=null){
// 取消定时器
mTimerTask.cancel();
}
}
break;
default:
break;
}
super.handleMessage(msg);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.details_smooth);
initView();
initValidata();
bindData();
initListener();
}
// 初始化界面元素
private void initView() {
details_smooth_head_leftbtn=(Button)this.findViewById(R.id.details_smooth_head_leftbtn);
details_smooth_head_textview=(TextView)this.findViewById(R.id.details_smooth_head_textview);
details_smooth_prev=(ImageView)this.findViewById(R.id.details_smooth_prev);
details_smooth_next=(ImageView)this.findViewById(R.id.details_smooth_next);
details_smooth_tv_name=(TextView)this.findViewById(R.id.details_smooth_tv_name);
details_smooth_tv_answer=(TextView)this.findViewById(R.id.details_smooth_tv_answer);
detalis_smooth_btn_book=(Button)this.findViewById(R.id.detalis_smooth_btn_book);
detalis_smooth_btn_answer=(Button)this.findViewById(R.id.detalis_smooth_btn_answer);
}
// 初始化变量
private void initValidata() {
mTimer=new Timer();
mPosition=DetailsSmoothActivity.this.getIntent().getIntExtra("position", 0);
//Log.d("jiangqq", ">>>>>>>传进来的position为:"+mPosition);
// 初始化要显示的数据
if(LogoActivity.mLists==null){
mSharpModels=FileUtils.getSharpModels(DetailsSmoothActivity.this);
}else {
mSharpModels=LogoActivity.mLists;
}
mIntent=new Intent();
mDbManager=new DBManager(DetailsSmoothActivity.this);
// 当前显示的题目的序号
mCurrent=200*mPosition;
//Log.d("jiangqq", "当前显示的题目的序号:"+(mCurrent+1));
details_smooth_tv_answer.setText("思考中:"+index);
// 启动定时器,进行思考倒计时
mTimerTask=new TimerTask() {
@Override
public void run() {
//发送消息到UI线程,进行更新UI
sendMessageUpdate();
index--;
}
};
mTimer.schedule(mTimerTask, 1000, 1000);
model=mSharpModels.get(mCurrent);
details_smooth_head_textview.setText("第"+String.valueOf(mCurrent+1)+"道题目");
if(mCurrent%200==0)
{
details_smooth_prev.setVisibility(View.INVISIBLE);
}else {
details_smooth_prev.setVisibility(View.VISIBLE);
}
if((mCurrent+1)%200==0){
details_smooth_next.setVisibility(View.INVISIBLE);
}else {
details_smooth_next.setVisibility(View.VISIBLE);
}
details_smooth_tv_name.setText(model.getName());
}
// 绑定数据
private void bindData() {
}
// 初始化监听器
private void initListener() {
details_smooth_head_leftbtn.setOnClickListener(new MySetOnClickListener());
details_smooth_prev.setOnClickListener(new MySetOnClickListener());
details_smooth_next.setOnClickListener(new MySetOnClickListener());
detalis_smooth_btn_book.setOnClickListener(new MySetOnClickListener());
detalis_smooth_btn_answer.setOnClickListener(new MySetOnClickListener());
}
private void sendMessageUpdate(){
Message msg=mHandler.obtainMessage();
msg.what=SUCCESS;
mHandler.sendMessage(msg);
}
// 点击事件监听器
class MySetOnClickListener implements OnClickListener{
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.details_smooth_head_leftbtn:
mIntent.setClass(DetailsSmoothActivity.this, SmoothActivity.class);
DetailsSmoothActivity.this.startActivity(mIntent);
DetailsSmoothActivity.this.finish();
break;
case R.id.details_smooth_prev:
mCurrent--;
model=mSharpModels.get(mCurrent);
details_smooth_head_textview.setText("第"+String.valueOf(mCurrent+1)+"道题目");
if(mCurrent%200==0)
{
details_smooth_prev.setVisibility(View.INVISIBLE);
}else {
details_smooth_prev.setVisibility(View.VISIBLE);
}
if((mCurrent+1)%200==0){
details_smooth_next.setVisibility(View.INVISIBLE);
}else {
details_smooth_next.setVisibility(View.VISIBLE);
}
details_smooth_tv_name.setText(model.getName());
if(mTimerTask!=null){
mTimerTask.cancel();
}
index=15;
details_smooth_tv_answer.setText("思考中:"+index);
// 启动定时器,进行思考倒计时
mTimerTask=new TimerTask() {
@Override
public void run() {
//发送消息到UI线程,进行更新UI
sendMessageUpdate();
index--;
}
};
mTimer.schedule(mTimerTask, 1000, 1000);
// Log.d("jiangqq", ">>>上一题:当前显示的题目的序号:"+(mCurrent+1));
break;
case R.id.details_smooth_next:
mCurrent++;
model=mSharpModels.get(mCurrent);
details_smooth_head_textview.setText("第"+String.valueOf(mCurrent+1)+"道题目");
if(mCurrent%200==0)
{
details_smooth_prev.setVisibility(View.INVISIBLE);
}else {
details_smooth_prev.setVisibility(View.VISIBLE);
}
if((mCurrent+1)%200==0){
details_smooth_next.setVisibility(View.INVISIBLE);
}else {
details_smooth_next.setVisibility(View.VISIBLE);
}
details_smooth_tv_name.setText(model.getName());
if(mTimerTask!=null){
mTimerTask.cancel();
}
index=15;
details_smooth_tv_answer.setText("思考中:"+index);
// 启动定时器,进行思考倒计时
mTimerTask=new TimerTask() {
@Override
public void run() {
//发送消息到UI线程,进行更新UI
sendMessageUpdate();
index--;
}
};
mTimer.schedule(mTimerTask, 1000, 1000);
// Log.d("jiangqq", ">>>下一题:当前显示的题目的序号:"+(mCurrent+1));
break;
case R.id.detalis_smooth_btn_book:
boolean result=mDbManager.insertSharp(model);
if (result) {
Toast.makeText(DetailsSmoothActivity.this, "收藏成功!", Toast.LENGTH_SHORT).show();
}else {
Toast.makeText(DetailsSmoothActivity.this, "收藏失败!", Toast.LENGTH_SHORT).show();
}
break;
case R.id.detalis_smooth_btn_answer:
details_smooth_tv_answer.setText(model.getAnswer());
// 取消定时器
if(mTimerTask!=null){
mTimerTask.cancel();
}
break;
}
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode==KeyEvent.KEYCODE_BACK){
mIntent.setClass(DetailsSmoothActivity.this, SmoothActivity.class);
DetailsSmoothActivity.this.startActivity(mIntent);
DetailsSmoothActivity.this.finish();
}
return super.onKeyDown(keyCode, event);
}
}