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

时间:2013-01-18 21:26:08

标签: java android

我正在Eclipse中制作一个非常的基本测验应用程序。现在,它只有一个问题。我想要做的是,在你回答第一个问题之后展示一个新问题,并且能够添加任意数量的问题。最好,我希望在回答一个问题后X秒出现下一个问题,但由于我不知道这有多难,所以我对任何事情持开放态度。如果有人能指出我应该做些什么以便能够添加更多问题,我会非常感激。 Heres是我到目前为止所拥有的:

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);
        }

    }

}

1 个答案:

答案 0 :(得分:1)

您想要解决此问题的方法是使用setText(String s)更改按钮和文本视图的文本。如果你开始反复做你上面所做的事情,你将进行一次有用的测验,但代码不会真正易于维护或易于阅读。你想要做的是将你的测验分成不同的方法,一个用于将文本设置为按钮,另一个用于处理用户点击。然后,你将在两者之间反复呼叫。如果你有任何问题,因为这不是很清楚问。