请帮忙。如果我在“builder.setMessage”中输入“rightAnswers”(“答案:”+ rightAnswers),我想在警告对话框中显示正确的答案;“警报节目“答案:1”。 1号而不是正确的答案。请教我什么能够显示正确的答案。非常感谢你。
public class thisactivity extends AppCompatActivity {
Button choice1,choice2;
ImageView images;
List<Model> list;
int turn = 1;
int rightAnswers = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_thisactivity);
images = (ImageView) findViewById(R.id.images);
choice1 = (Button) findViewById(R.id.choice1);
choice2 = (Button) findViewById(R.id.choice2);
list = new ArrayList<>();
for (int i = 0; i < new Signsdatabase().answers.length; i++) {
list.add(new Model(new Signsdatabase().answers[i], new
Signsdatabase().signs[i]));
}
newQuestion(turn);
choice1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String alertTitle;
if(choice1.getText().toString().equalsIgnoreCase(list.get(turn -
1).getName())) {
rightAnswers = rightAnswers + 1;
alertTitle = "Correct!";
if (turn < list.size()) {
turn++;
newQuestion(turn);
} else {
Toast.makeText(thisactivity.this, "You have completed the Quiz!", Toast.LENGTH_SHORT).show();
}
}
AlertDialog.Builder builder = new
AlertDialog.Builder(thisactivity.this)
builder.setTitle(alertTitle);
builder.setMessage("Answer : " + **CORRECT ANSWERS**); <---I WANT TO DISPLAY THE CORRECT ANSWER HERE BUT I DO NOT KNOW HOW------->
builder.setIcon(R.drawable.pic);
builder.setPositiveButton("OK", new
DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int i) {
}
});
}
});
choice2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (choice2.getText().toString().equalsIgnoreCase(list.get(turn - 1).getName())) {
rightAnswers = rightAnswers + 1;
if (turn < list.size()) {
turn++;
newQuestion(turn);
} else {
Toast.makeText(thisactivity.this, "You have completed the Quiz!", Toast.LENGTH_SHORT).show();
getResults();
}
} else {
}
AlertDialog.Builder builder = new
AlertDialog.Builder(Roadsigns.this)
builder.setTitle(alertTitle);
builder.setMessage("Answer : " + **CORRECT ANSWERS**); <---I WANT TO DISPLAY THE CORRECT ANSWER HERE BUT I DO NOT KNOW HOW------->
builder.setIcon(R.drawable.pic);
builder.setPositiveButton("OK", new
DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int i) {
}
});
builder.setCancelable(false);
builder.show();
}
});
}
............
这是我的Signsdatabase
public class Signsdatabase {
Integer[] signs ={
R.drawable.q1,
R.drawable.q2,
R.drawable.q3,
};
String[] answers = {
"Ans1",
"Ans2",
"Ans3",
};
}
答案 0 :(得分:0)
您显示正确答案的索引,您需要从相应位置的列表中获取该项目:
builder.setMessage("Answer : " + signsdatabase.answers[rightAnswers]);
builder.setMessage(“答案:”+ list [rightAnswers]); //它也会检查。
您还需要在
之前初始化signsdatabasesignsdatabase = new Signsdatabase();
答案 1 :(得分:0)
在alter dialog中进行此更改。
制作Signsdatabase对象或在answer数组中创建静态。
builder.setMessage("Answer : " + Signsdatabase.answers[rightAnswers]);
答案 2 :(得分:0)
假设您有正确的答案索引您可以执行以下操作之一:
<强>一强>
创建SignsDatabase的对象:
signsDb = new Signsdatabase();
索引 i 正确答案:
builder.setMessage("Answer : "+ signDb.answers[i];
<强>两个强>
如果您不想创建SignDatabase的实例,可以将答案声明为静态变量,这样:
public class SignDatabase{
... //some code here
public static String[] answers = ["Abc","xyz"];
}
然后通过调用
直接访问它builder.setMessage(SignDatabase.answers[i]);