思路:当用户点击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程序开发之八--测试题的实现相关推荐

  1. 性格色彩测试android程序开发之七--测试题模块dialog的实现

    思路:用户点击"开始测试"按钮后,会弹出一个确认对话框,用户点击确定后,自动跳转到测试题界面. 确认对话框效果图: 这也是一个alertdialog,具体代码如下: AlertDi ...

  2. android开发系列之性格测试,性格色彩测试android程序开发之十--输出结果

    思路:根据用户选择的每道题的选项,进行判断用户性格颜色所占的比例,比例最大的性格色彩即为要返回的结果.而判断用户性格颜色所占的比例的方法也很简单,因为没到性格测试题的选项都是从A-D按照"红 ...

  3. 性格色彩测试android程序开发之六--activity界面

    在该activity界面要想是的文本有12种.因为有四种颜色,而每种颜色都含有三种显示的信息.另外TextView.setText()方法设置为本时,不会保留文本的格式,而是把所有的文本堆在一起.为了 ...

  4. 性格色彩测试android程序开发之三--dialog(续)

    主Activity类如下: //欢迎界面,有两个按钮,有背景图片 package logan.lejia; import android.app.Activity; import android.ap ...

  5. android 开发性格测试软件,性格色彩测试android程序开发之一--主界面

    思路:主界面只有一张背景图片,两个按钮,当按钮按下的时候,按钮的颜色会发生相应的变化,按下的分成了三个状态,default,pressed和selected. 在Activity中,对button进行 ...

  6. 性格色彩测试android程序开发之九--sqlite数据库

    String sql_createtable = "create table test(id int NOT NULL,title VARCHAR(50) NOT NULL,first VA ...

  7. 性格色彩测试android程序开发之五--dialog事件的处理

    思路:首先确定用户在第一次弹出的dialog中选择的是哪一种颜色,也就是说确定用户选择的颜色是"红色"."蓝色"."绿色"还是"黄 ...

  8. 性格色彩测试android程序开发之二--dialog处理

    如果使用alertdialog来实现数组中的较多的数据时,alertdialog会自动出现滚动条

  9. 性格色彩测试android程序开发之四--响应dialog事件的处理

    class ItemListener implements DialogInterface.OnClickListener {@Overridepublic void onClick(DialogIn ...

最新文章

  1. daterangepicker引用
  2. 基于python爬虫的岗位数据分析以拉勾网为例_Python拉勾爬虫——以深圳地区数据分析师为例...
  3. 谷歌开源机器学习可视化工具 Facets:从全新角度观察数据
  4. 写博客的这几个月,获益良多
  5. BZOJ 2243 染色(树链剖分好题)
  6. Dcloud+mui 压缩上传图片到服务器
  7. 金字塔测试早已过时!
  8. debian-nagios3.2,linux+apache+mysql+php
  9. C# ZPL打印标签
  10. mac 字体微软雅黑字体_在Microsoft Word 2007中搜索和替换特定格式(字体,样式等)...
  11. iphone怎么找本地音乐_为什么iPhone会发出蜂鸣声或振动? 这是找出方法
  12. 【vendor】Go 包依赖管理工具govendor
  13. 连接交换机太讲究,很多网工总弄不明白
  14. vue+播放直播视频流(websocket的流文件)
  15. HBase-11-HBase Coprocessor HBase协处理器
  16. 英语前后缀大全 - 快速理解英语单词
  17. 如果计算机电源突然断电 会导致,突然断电对电脑伤害有多大?
  18. 气动调节阀的用途安装知识
  19. 众贷网满月死亡 P2P网贷业将现倒闭潮?
  20. 游戏发行商推广游戏的三种方法

热门文章

  1. 还我一个奇迹——记僵尸3的遗憾和美丽
  2. 阿里新突破!自主创新的下一代匹配推荐技术:任意深度学习+树状全库检索
  3. NEO4J环境变量设置及其安装使用
  4. 给你一个团队,你应该怎么管?制度是绝情的,管理是无情的,执行是合情的
  5. 掌财社:Python 机器学习工具包SKlearn的安装与使用
  6. Neat Video Pro插件如何在Flame 2020中使用
  7. Firefox 火狐 浏览器下载文件文件名中文乱码解决
  8. 数字化转型 财务部首当其冲
  9. Android 破解APK
  10. 下载安装Tomcat9.0.44,并解决控制台乱码问题