简单的测验Android

时间:2014-10-24 08:36:00

标签: java android class button android-studio

EDITED *

现在问题是我是否需要在我的设计上创建11个TextView,或者我可以为每个问题使用相同的TextView?我已经初始化为1,因为它显示的TextView是TextView。

public class MyActivity4 extends ActionBarActivity implements View.OnClickListener {
    private int nivellactual=1;
    private int elementcorrecte;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_my_activity4);
    TextView tvJuego = (TextView) findViewById(R.id.tvJuego);
    tvJuego.setShadowLayer(1, 0, 3, Color.GRAY);
    ImageButton borojuego,berijuego,cobajuego,hidrojuego,indijuego,plutojuego,sodijuego,molijuego,zicrojuego
            ,promjuego,ununjuego,radijuego;



    berijuego=(ImageButton)findViewById(R.id.ibBeriJuego);
    borojuego=(ImageButton)findViewById(R.id.ibBoroJuego);
    cobajuego=(ImageButton)findViewById(R.id.ibCobaJuego);
    indijuego=(ImageButton)findViewById(R.id.ibIndiJuego);
    hidrojuego=(ImageButton)findViewById(R.id.ibHidroJuego);
    ununjuego=(ImageButton)findViewById(R.id.ibUnunJuego);
    plutojuego=(ImageButton)findViewById(R.id.ibPlutoJuego);
    radijuego=(ImageButton)findViewById(R.id.ibRadiJuego);
    promjuego=(ImageButton)findViewById(R.id.ibPromJuego);
    sodijuego=(ImageButton)findViewById(R.id.ibSodiJuego);
    zicrojuego=(ImageButton)findViewById(R.id.ibZicroJuego);
    molijuego=(ImageButton)findViewById(R.id.ibMoliJuego);
    berijuego.setOnClickListener(this);
    borojuego.setOnClickListener(this);
    cobajuego.setOnClickListener(this);
    indijuego.setOnClickListener(this);
    hidrojuego.setOnClickListener(this);
    ununjuego.setOnClickListener(this);
    plutojuego.setOnClickListener(this);
    radijuego.setOnClickListener(this);
    promjuego.setOnClickListener(this);
    sodijuego.setOnClickListener(this);
    zicrojuego.setOnClickListener(this);
    molijuego.setOnClickListener(this);





}
private void seguentelement() {

    switch (nivellactual) {

        case 1:

            TextView tvPregunta = (TextView) findViewById(R.id.tvPregunta)//WARNING ERROR;
            String pregunta = ("Quin element és el Hidrògen?");
            tvPregunta.setText(pregunta);
            //PENSANDO
            elementcorrecte = (R.id.ibHidroJuego);//load here the id of the correct answer of each level)
            break;
        case 2:

            TextView tvPregunta2 = (TextView) findViewById(R.id.tvPregunta)//WARNING ERROR;
            String pregunta2 = ("Quin element és el Indio?");
            tvPregunta2.setText(pregunta2);
            //PENSANDO
            elementcorrecte = (R.id.ibIndiJuego);//load here the id of the correct answer of each level)
            break;
        case 3:

            TextView tvPregunta3 = (TextView) findViewById(R.id.tvPregunta)//WARNING ERROR;
            String pregunta3 = ("Quin element és el Cobalto?");
            tvPregunta3.setText(pregunta3);
            //PENSANDO
            elementcorrecte = (R.id.ibCobaJuego);//load here the id of the correct answer of each level)
            break;
        case 4:

            TextView tvPregunta4 = (TextView) findViewById(R.id.tvPregunta);
            String pregunta4 = ("Quin element és el Berilio?");
            tvPregunta4.setText(pregunta4);
            //PENSANDO
            elementcorrecte = (R.id.ibBeriJuego);//load here the id of the correct answer of each level)
            break;
        case 5:

            TextView tvPregunta5 = (TextView) findViewById(R.id.tvPregunta)//WARNING ERROR;
            String pregunta5 = ("Quin element és el Prometio?");
            tvPregunta5.setText(pregunta5);
            //PENSANDO
            elementcorrecte = (R.id.ibPromJuego);//load here the id of the correct answer of each level)
            break;
        case 6:

            TextView tvPregunta6 = (TextView) findViewById(R.id.tvPregunta)//WARNING ERROR;
            String pregunta6 = ("Quin element és el Radio?");
            tvPregunta6.setText(pregunta6);
            //PENSANDO
            elementcorrecte = (R.id.ibRadiJuego);//load here the id of the correct answer of each level)
            break;
        case 7:

            TextView tvPregunta7 = (TextView) findViewById(R.id.tvPregunta)//WARNING ERROR;
            String pregunta7 = ("Quin element és el Plutonio?");
            tvPregunta7.setText(pregunta7);
            //PENSANDO
            elementcorrecte = (R.id.ibPlutoJuego);//load here the id of the correct answer of each level)
            break;
        case 8:

            TextView tvPregunta8 = (TextView) findViewById(R.id.tvPregunta);
            String pregunta8 = ("Quin element és el Ununstrio?");
            tvPregunta8.setText(pregunta8);
            //PENSANDO
            elementcorrecte = (R.id.ibUnunJuego);//load here the id of the correct answer of each level)
            break;
        case 9:

            TextView tvPregunta9 = (TextView) findViewById(R.id.tvPregunta)//WARNING ERROR;
            String pregunta9 = ("Quin element és el Sodio?");
            tvPregunta9.setText(pregunta9);
            //PENSANDO
            elementcorrecte = (R.id.ibSodiJuego);//load here the id of the correct answer of each level)
            break;
        case 10:

            TextView tvPregunta10 = (TextView) findViewById(R.id.tvPregunta)//WARNING ERROR;
            String pregunta10 = ("Quin element és el Boro?");
            tvPregunta10.setText(pregunta10);
            //PENSANDO
            elementcorrecte = (R.id.ibBoroJuego);//load here the id of the correct answer of each level)
            break;
        case 11:

            TextView tvPregunta11 = (TextView) findViewById(R.id.tvPregunta)//WARNING ERROR;
            String pregunta11 = ("Quin element és el Zicronio?");
            tvPregunta11.setText(pregunta11);
            //PENSANDO
            elementcorrecte = (R.id.ibZicroJuego);//load here the id of the correct answer of each level)
            break;
        case 12:

            TextView tvPregunta12 = (TextView) findViewById(R.id.tvPregunta)//WARNING ERROR;
            String pregunta12 = ("Quin element és el Molibdeno?");
            tvPregunta12.setText(pregunta12);
            //PENSANDO
            elementcorrecte = (R.id.ibMoliJuego);//load here the id of the correct answer of each level)
            break;
    }
}
    @Override
    public void onClick (View v){

        //when clicking the correct id, transict to other level, and load new data
        if (v.getId() == elementcorrecte) {
            Toast.makeText(getBaseContext(), "Correcte!", Toast.LENGTH_SHORT).show();
            nivellactual++;
            seguentelement();
        } else {
            Toast.makeText(getBaseContext(), "Error!! :(", Toast.LENGTH_SHORT).show();

        }
    }

2 个答案:

答案 0 :(得分:1)

希望这个逻辑有所帮助:

//currentLevel and correctAnswer vars
private int currentlevel;
private int correctAnswer;

@Override
protected void onCreate(Bundle savedInstanceState) {
   //load all your UI
}

private void levelTransition()
{
   //for each level, load specific text and images
   switch(currentlevel)
   case 1:
   String pregunta=("Quin element és el Hidrògen?");
   tvPregunta.setText(pregunta);
   //... and other things
   correctAnswer = (...) //load here the id of the correct answer of each level
   break;
   case 2:
   //...
}

@Override
public void onClick(View v) {

    //when clicking the correct id, transict to other level, and load new data
    if(v.getId() == correctAnswer)
            {
            Toast.makeText(getBaseContext(), "Correcte!", Toast.LENGTH_SHORT).show();
            currentlevel++;
            levelTransition();
            }
    else
            {
            Toast.makeText(getBaseContext(), "Error!! :(", Toast.LENGTH_SHORT).show();
            break;
            }

答案 1 :(得分:0)

<强> XML:
您可以将问题和答案用作textViews。 例如,在XML中为视图提供ID(questionView,answer1View,answer2View ...)。
Java:
使用计数器知道当前的问题。 在柜台上做一个开关盒。 对于每种情况,您都可以使用questionView.setText(“blabla”)。 还可以在答案视图上实现onClickListener,这将使操作成对或错,最重要的是增加计数器,并使用切换案例调用方法。