Java:测验 Android 应用程序 - 添加更多问题

标签 java android

我正在 Eclipse 中制作一个非常基本的测验应用程序。现在,它只有一个问题。我想做的是,在您回答第一个问题后显示一个新问题,并且能够添加任意数量的问题。最好,我希望下一个问题在回答一个问题后 X 秒出现,但由于我不知道这有多困难,所以我愿意接受任何事情。如果有人能指出我应该做什么才能添加更多问题的正确方向,我将非常感激。这是我到目前为止所拥有的:

package com.example.quizuke3;

import android.os.Bundle;
import android.os.Vibrator;
import android.app.Activity;
import android.content.Context;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends Activity implements OnClickListener{

    Button button1;
    Button button2;
    Button button3;
    int score =0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        button1 = (Button) findViewById(R.id.option1);
        button2 = (Button) findViewById(R.id.option2);
        button3 = (Button) findViewById(R.id.option3);

        button1.setOnClickListener(this);
        button2.setOnClickListener(this);
        button3.setOnClickListener(this);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }

    @Override
    public void onClick(View v) {
        TextView result = (TextView) findViewById(R.id.result);

        if(button1.equals(v)){
            score ++;
            result.setText("Correct! Score: "+score);
        }

        else if(button2.equals(v)){
            result.setText("Wrong! Score: "+score);
        }

        else if(button3.equals(v)){
            result.setText("Wrong! Score: "+poeng);
        }

    }

}

最佳答案

您想要实现此目的的方法是使用 setText(String s) 更改按钮和 TextView 的文本。如果您重复执行上面所做的事情,您将做出一个可用的测验,但代码实际上并不可维护或易于阅读。您想要做的是将测验分成不同的方法,一种将文本设置为按钮,另一种处理用户点击。然后,你们就会在两人之间反复打电话。如果您有任何疑问,因为不是很清楚,请询问。

关于Java:测验 Android 应用程序 - 添加更多问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14407899/

相关文章:

android - 如何在Timer中使用OpenGL

java - 有没有办法从 Microsoft SQL JDBC 驱动程序获取 "java.sql.SQLIntegrityConstraintViolationException"?

java - 从 YAML 文件加载模型数据时出现问题

android - 将 Qt (for KDE) 开发的游戏移植到 Android

java - 尝试解析由 ( , ) 分隔并使用引号的 CSV 文件

android - Activity onStart() 操作导致黑屏

android - 使用 libstreaming 将视频从 Android 设备流式传输到 PC

java - 包含集合中的方法替换

java - DH key 大小必须是 64 的倍数,并且只能在 512 到 2048(含)之间

java - Java类中的静态变量无法解析或不是字段