SetPositiveButton работает, но текстовая строка не появляетсяAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 SetPositiveButton работает, но текстовая строка не появляется

Сообщение Anonymous »

Мой setPositiveButton работает в моем приложении, но текст, который должен появиться при нажатии («Готово»), не появляется.
Поэтому, когда я нажимаю на пробел в приложение, где должно появиться кликабельное «Готово», место пустое. Но щелчок на этом пустом месте приводит к правильному выполнению кода!
Кто-нибудь видит, какую ошибку я допустил в строке 75?

Код: Выделить всё

package com.example.numbers;

import android.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;

import android.content.DialogInterface;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity implements View.OnClickListener{
TextView questionTextView;
TextView totalQuestionTextView;
Button ansA,ansB,ansC,ansD;
Button btn_submit;

int score=0;
int totalQuestion = QuestionAnswer.question.length;
int currentQuestionIndex =0;
String selectedAnswer="";

@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

totalQuestionTextView = findViewById(R.id.total_question);
questionTextView = findViewById(R.id.question);
ansA = findViewById(R.id.ans_a);
ansB = findViewById(R.id.ans_b);
ansC= findViewById(R.id.ans_c);
ansD = findViewById(R.id.ans_d);
btn_submit = findViewById(R.id.btn_submit);

ansA.setOnClickListener(this);
ansB.setOnClickListener(this);
ansC.setOnClickListener(this);
ansD.setOnClickListener(this);
btn_submit.setOnClickListener(this);

totalQuestionTextView.setText("You have "+totalQuestion +" questions to answer");

loadNewQuestion();
}

private void loadNewQuestion(){
if(currentQuestionIndex == totalQuestion){
finishQuiz();
return;
}
questionTextView.setText(QuestionAnswer.question[currentQuestionIndex]);
ansA.setText(QuestionAnswer.choices[currentQuestionIndex][0]);
ansB.setText(QuestionAnswer.choices[currentQuestionIndex][1]);
ansC.setText(QuestionAnswer.choices[currentQuestionIndex][2]);
ansD.setText(QuestionAnswer.choices[currentQuestionIndex][3]);

selectedAnswer="";

}

private void finishQuiz(){
String passStatus;
if(score >= totalQuestion*0.6){
passStatus = "You passed - well done!";
}else{
passStatus = "You failed this time - but keep trying!";
}
new AlertDialog.Builder(this)
.setTitle(passStatus)
.setMessage("You scored "+score+"  out of "+totalQuestion)
.setCancelable(false)
.setPositiveButton("Finish",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
moveTaskToBack(true);
android.os.Process.killProcess(android.os.Process.myPid());
System.exit(1);
}
})
.show();
}

private void restartQuiz(){
score = 0;
currentQuestionIndex=0;
loadNewQuestion();
}

@Override
public void onClick(View view){
ansA.setBackgroundColor(Color.WHITE);
ansB.setBackgroundColor(Color.WHITE);
ansC.setBackgroundColor(Color.WHITE);
ansD.setBackgroundColor(Color.WHITE);

Button clickedButton = (Button) view;

if(clickedButton.getId() == R.id.btn_submit) {
if(!selectedAnswer.isEmpty()){
if(selectedAnswer.equals(QuestionAnswer.correctAnswers[currentQuestionIndex])){
score++;
}else{
clickedButton.setBackgroundColor(Color.MAGENTA);
}
currentQuestionIndex++;
loadNewQuestion();
}else{

}
}
else{
selectedAnswer=clickedButton.getText().toString();
clickedButton.setBackgroundColor(Color.YELLOW);
}
}

private class OnClickListener implements DialogInterface.OnClickListener {
@Override
public void onClick(DialogInterface dialogInterface, int i) {

}
}
}

Большое спасибо.

Подробнее здесь: https://stackoverflow.com/questions/792 ... -appearing
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»