如何改变textview为每个按钮点击由用户?



我正在为android做一个java约会游戏。我只用kotlin编写android程序,所以遇到了一些困难。我想改变textView "每次点击按钮"proximo1",当它完成时,改变活动。

当我点击按钮时,什么也没发生。

我也尝试没有数组,手动输入setText上的每个字符串,但它只是停留在第一个索引数组

public class inicioActivity extends Activity {
private TextView frasesInicio;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
this.setContentView(R.layout.activity_inicio);
setContentView(R.layout.activity_inicio);
Button avancar = (Button) findViewById(R.id.proximo1);
frasesInicio = (TextView) findViewById(R.id.frasesInicio);
frasesInicio.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View clica) {
int contInicio = 0;
String frases[] = {"Acabei de chegar no rolê de hoje. Dia de ver bandas" +
" locais do jeito que gosto. Estou feliz por isso! ", "Hoje tem a banda DST. Gosto muito do som deles " +
"mas ainda não vi ao vivo. Finalmente vou poder conhecer melhor essa " +
"banda. Também quero conhecer essa casa de show.", "Entre no bar"};
switch (contInicio) {
case 0:
frasesInicio.setText(frases[contInicio]);
contInicio++;
break;
case 1:
frasesInicio.setText(frases[contInicio]);
contInicio++;
break;
case 2:
frasesInicio.setText(frases[contInicio]);
contInicio++;
break;
case 3:
Intent redirecionar = new Intent(inicioActivity.this, funHouseActivity.class);
startActivity(redirecionar);
}
}
});
}
}
  • 如果要更改每个按钮点击上的文本,则需要将OnClickListener设置为Button而不是TextView
  • contInicio变量必须是全局的,以便在点击之间保持其值,因此将其定义为类字段。
  • 我还建议您在切换大小写语句中添加default大小写,以防止出现意外值。这样,contInicio变量将被重置为零,以重新启动进程,并防止意外的结果,如果它的值超出范围。

固定代码如下:

public class inicioActivity extends Activity {

private TextView frasesInicio;
private int contInicio = 0; //< Make contInicio global so that it can hold the last value

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
this.setContentView(R.layout.activity_inicio);
setContentView(R.layout.activity_inicio);

Button avancar = (Button) findViewById(R.id.proximo1);
frasesInicio = (TextView) findViewById(R.id.frasesInicio);

avancar.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View clica) {
String frases[] = {"Acabei de chegar no rolê de hoje. Dia de ver bandas" +
" locais do jeito que gosto. Estou feliz por isso! ", "Hoje tem a banda DST. Gosto muito do som deles " +
"mas ainda não vi ao vivo. Finalmente vou poder conhecer melhor essa " +
"banda. Também quero conhecer essa casa de show.", "Entre no bar"};
switch (contInicio) {
case 0:
frasesInicio.setText(frases[contInicio]);
contInicio++;
break;
case 1:
frasesInicio.setText(frases[contInicio]);
contInicio++;
break;
case 2:
frasesInicio.setText(frases[contInicio]);
contInicio++;
break;
case 3:
Intent redirecionar = new Intent(inicioActivity.this, funHouseActivity.class);
startActivity(redirecionar);
break;
default:
contInicio = 0;
}
}
});
}
}

最新更新