gpt4 book ai didi

android - 在 android 中,我怎样才能创建一个先等待 Action 继续的循环?

转载 作者:行者123 更新时间:2023-11-30 04:23:49 25 4
gpt4 key购买 nike

我正在尝试创建测验。在问题表单中,我制作了 3 个按钮,当用户单击答案时。它重新启动相同的布局和 java 类,因此出现下一个问题。好吧,这种方式不太好,因为一次又一次地调用相同的布局很痛苦。那么我如何更改代码以使其在同一布局中更改问题 20 次?我尝试了 while 函数,但它不起作用,因为它不等待按下按钮继续下一个问题(如果有命令等待用户执行操作以继续 while 循环,它会工作)。这是我的代码:

package dv.qtest.dvyzual;

import java.util.Random;
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class startGame extends Activity {

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.startgame);
final MediaPlayer mp2 = MediaPlayer.create(this, R.raw.correct);

AnyDBAdapter eventsData = new AnyDBAdapter(getBaseContext());
eventsData.open();
myMenu.question = myMenu.question +1;
String qq = getRandomNumber();
Cursor c = eventsData.ExampleSelect(qq);
this.startManagingCursor(c);
eventsData.close(); final String h = c.getString(5); setQuestions(c);

final Button r1 = (Button)findViewById(R.id.b1);
r1.setOnClickListener (new View.OnClickListener() { public void onClick(View v) {
if ("1".equals(h)) {
r1.setBackgroundResource(R.drawable.buttonneocorrect);
myMenu.score = myMenu.score + 1;
mp2.start();
}
else {
r1.setBackgroundResource(R.drawable.buttonneowrong);
}
finish();
if (myMenu.question == 20) {
startActivity(new Intent("dv.qtest.dvyzual.QuizTestActivity.ENDQUIZGAME"));}
else {
startActivity(new Intent("dv.qtest.dvyzual.QuizTestActivity.STARTQUIZGAME"));
}
} }); final Button r2 = (Button)findViewById(R.id.b2);
r2.setOnClickListener (new View.OnClickListener() { public void onClick(View v) {
if ("2".equals(h)) {
r2.setBackgroundResource(R.drawable.buttonneocorrect);
myMenu.score = myMenu.score + 1;
}
else {
r2.setBackgroundResource(R.drawable.buttonneowrong);
}
finish();
if (myMenu.question == 20) {startActivity(new Intent("dv.qtest.dvyzual.QuizTestActivity.ENDQUIZGAME"));}
else {startActivity(new Intent("dv.qtest.dvyzual.QuizTestActivity.STARTQUIZGAME"));} } });
final Button r3 = (Button)findViewById(R.id.b3);
r3.setOnClickListener (new View.OnClickListener() { public void onClick(View v) {
if ("3".equals(h)) {
r3.setBackgroundResource(R.drawable.buttonneocorrect);
myMenu.score = myMenu.score + 1;
mp2.start();
}
else {
r3.setBackgroundResource(R.drawable.buttonneowrong);
}
finish();
if (myMenu.question == 20) {startActivity(new Intent("dv.qtest.dvyzual.QuizTestActivity.ENDQUIZGAME"));}
else {startActivity(new Intent("dv.qtest.dvyzual.QuizTestActivity.STARTQUIZGAME"));} } });
}

private String getRandomNumber(){

Random generator = new Random();
int n = 49;
n = generator.nextInt(n) +1;
String n1 = ""+n;
return n1;
}

private void setQuestions(Cursor c) {
TextView rscore = (TextView)findViewById(R.id.q1); rscore.setText("Score: " + myMenu.score + " Question: "
+ myMenu.question);

TextView r0 = (TextView)findViewById(R.id.textView1); r0.setText(c.getString(1));
Button r1 = (Button)findViewById(R.id.b1); r1.setText(c.getString(2));
Button r2 = (Button)findViewById(R.id.b2); r2.setText(c.getString(3));
Button r3 = (Button)findViewById(R.id.b3); r3.setText(c.getString(4));
} }

最佳答案

好吧,我不会回应你的回答......因为你开始 Android 开发的方式是错误的。

你必须学习一些 OOP 的概念......按顺序阅读:

http://www.osnews.com/story/6788

http://docs.oracle.com/javase/tutorial/java/concepts/

还有一个好的代码实现:

http://source.android.com/source/code-style.html

然后...看看 android 示例,有非常好的示例,它们在:

%AndroidSDK%/示例/

此外,您还必须了解 android 架构和 android 运行:

Android system architecture

enter image description here

关于android - 在 android 中,我怎样才能创建一个先等待 Action 继续的循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8865947/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com