性格色彩测试android程序开发之八--测试题的实现
2012-04-19 14:42
316 查看
思路:当用户点击dialog的确定按钮,监听事件就会激活测试题界面的activity。它负责显示测试题的题干,选项等信息,上下翻页等内容。为了能在显示activity的同时,显示试题信息。在该activity的oncreate()方法中调用了一个displayPorblems(currentNum)函数,他负责读取sqlite中数据库中的题目信息并显示在组件上。为了响应上下翻页按钮的功能,在处理按钮的代码中也调用了displayPorblems(currentNum)函数,每当用户翻页时,该函数都会从新读取并显示新的试题信息。
具体实现如下:
具体实现如下:
package logan.lejia; import android.app.Activity; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.TextView; public class TestingView extends Activity { TextView textview_title, textview_bottom; RadioButton buttonFir, buttonSec, buttonThir, buttonFour; RadioGroup radioGroup = null; Button buttonUp, buttonNext; private final int version = 1; private int currentNum = 1; public int getCurrentNum() { return currentNum; } public void setCurrentNum(int currentNum) { this.currentNum = currentNum; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.setContentView(R.layout.answview); // 试题的题干 textview_title = (TextView) findViewById(R.id.textView_problems_title); // 单选按钮和按钮组 buttonFir = (RadioButton) findViewById(R.id.radioButton1); buttonSec = (RadioButton) findViewById(R.id.radioButton2); buttonThir = (RadioButton) findViewById(R.id.radioButton3); buttonFour = (RadioButton) findViewById(R.id.radioButton4); radioGroup = (RadioGroup) findViewById(R.id.ButtonGroup); // 两个按钮中间的textview textview_bottom = (TextView) findViewById(R.id.textView_bottomView); textview_bottom.setText("第"+currentNum+"题/共有10题"); textview_bottom.setTextSize(15); // 两个上下翻页的按钮 buttonUp = (Button) findViewById(R.id.button_Up); buttonNext = (Button) findViewById(R.id.button_Next); // 监听 buttonNext.setOnClickListener(new PageTuriningListener()); buttonUp.setOnClickListener(new PageTuriningListener()); TestingView.this.displayPorblems(currentNum); } class PageTuriningListener implements View.OnClickListener { // 获取当前题号 int number = TestingView.this.getCurrentNum(); @Override public void onClick(View v) { // TODO Auto-generated method stub // 判断是哪一个按钮触发了事件 if (v.getId() == buttonUp.getId()) { // 上翻页 if (number == 1) { // 若这一题已经是第一题,则不显示上翻页按钮 v.setVisibility(View.INVISIBLE); } else { v.setVisibility(View.VISIBLE); } TestingView.this.setCurrentNum(number--); // 刷新测试题 TestingView.this.displayPorblems(number); } else if (v.getId() == buttonNext.getId()) { // 下翻页 if (number == 10) { // 若这一题已经是最后一题,则不显示下翻页按钮 v.setVisibility(View.INVISIBLE); } else { v.setVisibility(View.VISIBLE); TestingView.this.setCurrentNum(number++); // 刷新测试题 TestingView.this.displayPorblems(number); } } } } public void displayPorblems(int currentNum) { SQLiteHelper helper = new SQLiteHelper(this, "android_lejia", null, version); // 获取可以进行增删改查的数据库实例 SQLiteDatabase database = helper.getReadableDatabase(); Cursor cursor = database.query("test", new String[] { "id", "title", "first", "second", "third", "fourth" }, "id=?", new String[] { currentNum + "" }, null, null, null); cursor.moveToNext(); // 共有6列,标号从0-5 System.out.println(cursor.getColumnCount()); // String id = cursor.getString(0);//题号 cursor.moveToFirst(); String title = cursor.getString(1);// 题干 String first = cursor.getString(2);// 选项A String second = cursor.getString(3);// 选项B String third = cursor.getString(4);// 选项C String fourth = cursor.getString(5);// 选项D cursor.close(); database.close(); textview_title.setText(title); buttonFir.setText(first); buttonSec.setText(second); buttonThir.setText(third); buttonFour.setText(fourth); } }
相关文章推荐
- 性格色彩测试android程序开发之七--测试题模块dialog的实现
- [置顶] Android开发——程序锁的实现(可用于开发钓鱼登录界面)
- 【Android安全】Android开发环境搭建用于开发测试例程序
- Android底层开发(二)之编写驱动测试程序 第五步
- Android程序开发之Fragment实现底部导航栏实例代码
- Android 蓝牙开发实例--蓝牙聊天程序的设计和实现
- 性格色彩测试android程序开发之十--输出结果
- Android程序开发之Fragment实现底部导航栏实例代码
- Android开发实现中的“再按一次返回键退出程序”
- Android开发之两种方式实现连续点击两次返回键退出程序
- Android程序开发之Fragment实现底部导航栏实例代码
- Ubuntu中为Android系统上实现内置C可执行程序测试Linux内核驱动程序
- android 开发零起步学习笔记(二十九):Android笔记:实现加载的progressDialog之后跳转到程序主界面
- android widget 开发实例 : 桌面便签程序的实现详解和源码 (下)
- Android 蓝牙开发实例--蓝牙聊天程序的设计和实现
- Android开发之”再按一次退出程序“的实现
- Android程序开发意见反馈的实现
- android开发实现按两次退回键退出程序
- 这篇文章给大家介绍Android开发四大组件之实现电话拦截和电话录音,涉及到android四大基本组件在程序中的应用,对android四大基本组件感兴趣的朋友可以参考下本篇文章
- Android程序开发之ListView 与PopupWindow实现从左向右滑动删除功能