性格色彩测试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); } }
性格色彩测试android程序开发之八--测试题的实现相关推荐
- 性格色彩测试android程序开发之七--测试题模块dialog的实现
思路:用户点击"开始测试"按钮后,会弹出一个确认对话框,用户点击确定后,自动跳转到测试题界面. 确认对话框效果图: 这也是一个alertdialog,具体代码如下: AlertDi ...
- android开发系列之性格测试,性格色彩测试android程序开发之十--输出结果
思路:根据用户选择的每道题的选项,进行判断用户性格颜色所占的比例,比例最大的性格色彩即为要返回的结果.而判断用户性格颜色所占的比例的方法也很简单,因为没到性格测试题的选项都是从A-D按照"红 ...
- 性格色彩测试android程序开发之六--activity界面
在该activity界面要想是的文本有12种.因为有四种颜色,而每种颜色都含有三种显示的信息.另外TextView.setText()方法设置为本时,不会保留文本的格式,而是把所有的文本堆在一起.为了 ...
- 性格色彩测试android程序开发之三--dialog(续)
主Activity类如下: //欢迎界面,有两个按钮,有背景图片 package logan.lejia; import android.app.Activity; import android.ap ...
- android 开发性格测试软件,性格色彩测试android程序开发之一--主界面
思路:主界面只有一张背景图片,两个按钮,当按钮按下的时候,按钮的颜色会发生相应的变化,按下的分成了三个状态,default,pressed和selected. 在Activity中,对button进行 ...
- 性格色彩测试android程序开发之九--sqlite数据库
String sql_createtable = "create table test(id int NOT NULL,title VARCHAR(50) NOT NULL,first VA ...
- 性格色彩测试android程序开发之五--dialog事件的处理
思路:首先确定用户在第一次弹出的dialog中选择的是哪一种颜色,也就是说确定用户选择的颜色是"红色"."蓝色"."绿色"还是"黄 ...
- 性格色彩测试android程序开发之二--dialog处理
如果使用alertdialog来实现数组中的较多的数据时,alertdialog会自动出现滚动条
- 性格色彩测试android程序开发之四--响应dialog事件的处理
class ItemListener implements DialogInterface.OnClickListener {@Overridepublic void onClick(DialogIn ...
最新文章
- daterangepicker引用
- 基于python爬虫的岗位数据分析以拉勾网为例_Python拉勾爬虫——以深圳地区数据分析师为例...
- 谷歌开源机器学习可视化工具 Facets:从全新角度观察数据
- 写博客的这几个月,获益良多
- BZOJ 2243 染色(树链剖分好题)
- Dcloud+mui 压缩上传图片到服务器
- 金字塔测试早已过时!
- debian-nagios3.2,linux+apache+mysql+php
- C# ZPL打印标签
- mac 字体微软雅黑字体_在Microsoft Word 2007中搜索和替换特定格式(字体,样式等)...
- iphone怎么找本地音乐_为什么iPhone会发出蜂鸣声或振动? 这是找出方法
- 【vendor】Go 包依赖管理工具govendor
- 连接交换机太讲究,很多网工总弄不明白
- vue+播放直播视频流(websocket的流文件)
- HBase-11-HBase Coprocessor HBase协处理器
- 英语前后缀大全 - 快速理解英语单词
- 如果计算机电源突然断电 会导致,突然断电对电脑伤害有多大?
- 气动调节阀的用途安装知识
- 众贷网满月死亡 P2P网贷业将现倒闭潮?
- 游戏发行商推广游戏的三种方法