我正在开发基于测验的应用程序.测验包含1个问题和4个多项选择答案.
当用户从4个选项中选择一个选项时,如果显示的是正确答案,则应显示“您的答案正确”之类的内容,否则应显示“您的答案是错误的”以及正确的答案.
并且还有2个按钮(下一个和后一个),一个用于下一个问题,另一个用于后退.
有人可以告诉我如何编写代码以返回上一个问题吗?
我做了这样的事情:
private void getShuffledArray()
{
// TODO Auto-generated method stub
for (int i = 1; i <= SIZE; i )
{
quizIndexList.add(i);
}
Collections.shuffle(quizIndexList);
Log.d("ERR", "List A shuffling" quizIndexList);
}
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.button1:
Log.d("ERR", v.getTag().toString());
if (v.getTag().toString().equalsIgnoreCase("right")) {
displayAnswer();
}
break;
case R.id.button2:
Log.d("ERR", v.getTag().toString());
if (v.getTag().toString().equalsIgnoreCase("right")) {
displayAnswer();
}
break;
case R.id.button3:
Log.d("ERR", v.getTag().toString());
if (v.getTag().toString().equalsIgnoreCase("right")) {
displayAnswer();
}
break;
case R.id.button4:
Log.d("ERR", v.getTag().toString());
if (v.getTag().toString().equalsIgnoreCase("right")) {
displayAnswer();
}
break;
case R.id.btn_next:
// lyt_ans.setVisibility(View.GONE);
// lyt_quest.setVisibility(View.VISIBLE);
counter = 1;
if (counter >= SIZE) {
Collections.shuffle(quizIndexList);
counter = 0;
}
getInfoFromDB(quizIndexList.get(counter));
reLoad();
break;
case R.id.btn_bck:
btn_next.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
// TODO Auto-generated method stub
finish();
}
});
}
}
任何帮助都是不胜感激的,在此先感谢您. 解决方法: @Rithesh-没有得到您的代码,但是简单的逻辑如下 你需要什么 1)问题数组 2)回答Arraylist(或说二维数组)之类的ArrayList< ArrayList< String>>. 3)每个问题的答案索引(应与问题索引匹配 4)具有textview(以显示问题)的视图RadioGroup,它包含4个单选按钮,因此一次只能选择一个 5)接下来的两个按钮以前 6)最主要的事情是将setOnCheckedChangeListener添加到您的单选按钮组中,只有当用户选择任何答案然后检查哪个单选按钮被选中时(此单选按钮设置到它的位置),它才会被触发,因此假设问题号为2&.无线电选中的位置是3,然后只需在您的答案数组中检查答案是否&如果匹配,则可以显示吐司&如果不匹配,则从Answers arraylist&找到答案以烤面包或警报方式显示. 7)现在,当您单击下一步按钮时,将文本视图的文本更改为下一个问题&单选按钮的文本到下一组答案&反之亦然,上一个按钮单击
这是无法提供代码的逻辑
代码设置选项
RadioButton option_rdb1 = (RadioButton) findViewById(R.id.option_rdb1);
setOptions(0);
// if you used ArrayList<ArrayList<String>> optionslist
public void setOptions(int index){
if((index-1) <= optionsList.size()){
ArrayList<String> temp = optionslist.get(index);
options_rdb1.setText(temp.get(0).toString();
options_rdb1.setText(temp.get(0).toString();
options_rdb1.setText(temp.get(0).toString();
options_rdb1.setText(temp.get(0).toString();
}
}
只需在下一个带有问题索引的上一个中调用setOptions. 我使用index-1作为以0开头的arraylist,所以这取决于您如何使用index. 这样,您可以设置第一个选项.此外,在您将要调用下一个按钮的函数中,单击上面的代码行以设置下一个 来源:https://www./content-1-541501.html
|