第三个Sprint ------第七天
2015-12-13 19:21
337 查看
APP.java代码
package com.app.senior_calculator; import java.io.Serializable; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Toast; public class APP extends Activity { // 偏好设置 //private SharedPreferences sp; //private SharedPreferences.Editor editor; /** level and mode (index) **/ int selectedLevelIndex = 0; int selectedModeIndex = 0; int chioceItems; Bundle bundle = new Bundle(); /** choices **/ private String iconName1 = "选择难度"; private String[] arrayLevel = new String[] { "加减", "乘除", "四则运算(无括号)", "四则运算(含括号)" }; private String iconName2 = "选择模式"; private String[] arrayModel = new String[] { "Practice", "Examination" }; /** 题目库 **/ private List<Question> source = new ArrayList<Question>(); public void onclick(View v) { switch (v.getId()) { case R.id.StartTest: DialogDifficulty(arrayLevel, iconName1).show(); break; case R.id.Medol: DialogDifficulty(arrayModel, iconName2).show(); break; case R.id.Help: Toast.makeText(APP.this, " Dont know what to do……", Toast.LENGTH_SHORT).show(); break; case R.id.Exit: Toast.makeText(APP.this, " Closing…………", Toast.LENGTH_SHORT).show(); finish(); break; } } /** 定义一个Dialog 展示 level选择 后者为标题 **/ public Dialog DialogDifficulty(final String[] array_data, final String dialogtitle) { chioceItems = selectedLevelIndex; if (dialogtitle.equals("选择难度")) chioceItems = selectedLevelIndex; else if (dialogtitle.equals("选择模式")) chioceItems = selectedModeIndex; Dialog alertDialog; alertDialog = new AlertDialog.Builder(this, R.style.dialog) .setTitle(dialogtitle) .setIcon(R.drawable.diologicon) .setSingleChoiceItems(array_data, chioceItems, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { if (dialogtitle.equals("选择难度")) selectedLevelIndex = which; else if (dialogtitle.equals("选择模式")) selectedModeIndex = which; /** 模式传递过去TestView根据模式来设置时间长度. */ bundle.putString("difficulty", arrayModel[selectedModeIndex]); } }) .setPositiveButton("确认", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { bundle.putString("difficulty", arrayModel[selectedModeIndex]); /* // 确定后保存数据模式跟难度的下标数据.. if (dialogtitle.equals("选择难度")) editor.putInt("selectedLevelIndex", which); if (dialogtitle.equals("选择模式")) editor.putInt("selectedModeIndex", which); editor.commit();// 提交修改 */ /** 在确定难度后跳转出题目 设置模式到时候不跳转. **/ if (dialogtitle.equals("选择难度")) createexercise(); } }) .setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // 实现函数- 。- 调用. Toast.makeText(APP.this, " canceling ", Toast.LENGTH_SHORT).show(); } }).create(); return alertDialog; } /** 出题模块 根据选择的模式出先不同数量的题目. **/ public void createexercise() { int totalNumber = 50; if (arrayModel[selectedModeIndex].equals("Examination")) totalNumber = 25; switch (selectedLevelIndex) { case 0: source = new ArrayList<Question>(); Toast.makeText(APP.this, String.valueOf(selectedLevelIndex), Toast.LENGTH_LONG) .show(); new SimpleCreate().simpleExerciseInitation(0, totalNumber, source); for (int i = 0; i < source.size(); i++) Log.i("info", source.get(i).getExercise() + "=" + source.get(i).getAnswer()); bundle.putSerializable("resource", (Serializable) source); Intent MAintent = new Intent(APP.this, TestView.class); MAintent.putExtras(bundle); startActivity(MAintent); break; case 1: source = new ArrayList<Question>(); new SimpleCreate().simpleExerciseInitation(1, totalNumber, source); for (int i = 0; i < source.size(); i++) Log.i("info", source.get(i).getExercise() + "=" + source.get(i).getAnswer()); bundle.putSerializable("resource", (Serializable) source); Intent intent1 = new Intent(APP.this, TestView.class); intent1.putExtras(bundle); startActivity(intent1); break; case 2: source = new ArrayList<Question>(); new MidiumCreate().midiumCreateInitation(totalNumber, source); for (int i = 0; i < source.size(); i++) Log.i("info", source.get(i).getExercise() + "=" + source.get(i).getAnswer()); bundle.putSerializable("resource", (Serializable) source); Intent intent2 = new Intent(APP.this, TestView.class); intent2.putExtras(bundle); startActivity(intent2); break; case 3: source = new ArrayList<Question>(); // 出题目验证. new CreateEFraction().createYouExercisess(totalNumber, source); for (int i = 0; i < source.size(); i++) Log.i("info", source.get(i).getExercise() + "=" + source.get(i).getAnswer()); bundle.putSerializable("resource", (Serializable) source); Intent intent3 = new Intent(APP.this, TestView.class); intent3.putExtras(bundle); startActivity(intent3); break; default: Toast.makeText(APP.this, "errors happend ", Toast.LENGTH_LONG) .show(); break; } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.app); /*// 获取偏好设置实例 sp = getSharedPreferences("MySP", MODE_PRIVATE); editor = sp.edit(); editor.putInt("selectedLevelIndex",0); editor.putInt("selectedModeIndex", 0); editor.commit();// 提交修改 */ } }
相关文章推荐
- STM32启动方式
- Android 高仿微信(QQ)滑动弹出编辑、删除菜单效果,增加下拉刷新功能
- Android 高仿微信(QQ)滑动弹出编辑、删除菜单效果,增加下拉刷新功能
- 数据结构中表达式求值问题
- Double Cola
- 参加南京未来网络SDN大会的整理
- 引擎设计跟踪(九.14.2j) TableView工具填坑以及多国语言
- 杭电 3665 Seaside(最短路)(弗洛伊德过)
- JavaWeb自学之html学习笔记 Day-1
- 5.2 calendar--通用日期的相关函数(3)
- 黑马程序员--Java编程之API阶段总结
- 5.2 calendar--通用日期的相关函数(3)
- [DIP]客观保真度准则与主观保真度准则
- jquery特效(8)—倒计时
- 设计模式之观察者模式简单理解
- C语言知识整理(2):volatile与register
- unity打包及优化转载
- Eclipse的快捷键
- 《C++ primer》英文第五版阅读笔记(二十五)——函数基本知识
- Android自定义view之下载控件,ProgressBar