700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 性格色彩测试android程序开发之八--测试题的实现

性格色彩测试android程序开发之八--测试题的实现

时间:2019-04-07 10:57:21

相关推荐

性格色彩测试android程序开发之八--测试题的实现

思路:当用户点击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); } }

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。