次の問題が頭を悩ませています。Button(askButton)をクリックした後にランダムな配列を表示するTextViewを作成しました。2 番目の Button(rstButton) はリセット ボタンとして機能し、テキストからすべてのフィールドをクリアすることになっています。これを実現するために、setText("")
メソッドを使用しました。すべてのフィールドを正常にクリアします。
私の問題は、上記の TextView をクリアして Button(askButton) をクリックした後、TextView のコンテンツがランダムではなくなり、同じ配列が何度も表示されることです。私は一日中さまざまなサイトで解決策を探していましたが、成功しませんでした.
String ansArray[] = { "yes","no", "Surely","Never"};
final Random random = new Random();
final int select = random.nextInt(ansArray.length);
final TextView ansText = (TextView) findViewById(R.id.textView1);
Button buttonAsk = (Button) findViewById(R.id.button1);
buttonAsk.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
ansText.setText(ansArray[select]);
「final」修飾子により配列を変更できなくなると思いますが、配列を final として宣言しないとエラーが発生し、final 修飾子が要求されます (ここに問題があると思います)。
コードの 2 番目の部分には、リセット ボタンが含まれています。
final EditText questionText = (EditText) findViewById(R.id.editText1);
ImageButton btnReset = (ImageButton) findViewById(R.id.imageButton1);
btnReset.setOnClickListener(new ImageButton.OnClickListener(){
public void onClick(View v){
questionText.setText("");
ansText.setText("");
}
});
私の問題は final 修飾子にありますか、それとも何か間違っていますか? 助けていただければ幸いです。前もって感謝します!