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();
}
}
答案 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,这将使操作成对或错,最重要的是增加计数器,并使用切换案例调用方法。