Не удается преобразовать текст EditText в int

#android

#Android

Вопрос:

Я пытаюсь создать простое приложение для подсчета очков в гольфе, и я столкнулся с проблемой, когда пытаюсь преобразовать число, указанное в EditText, где пользователь вводит номинал для лунки. Пользователь может вводить только числа в EditText. Он не показывает никаких ошибок и не вылетает при запуске, но, очевидно, он не получает значения из приведенного ниже кода, независимо от того, что находится в EditText. Если я установлю значение par на число, отличное от 0, это повлияет на общий балл, когда пользователь перейдет к следующему отверстию, чтобы часть кода работала. Также, когда я перемещаю этот код в другой метод, отличный от onClick (просмотр v), приложение выходит из строя. Приветствуется любая помощь.

  public void onClick(View v){
    if (parNum.getText().toString().equals("")){
        AlertDialog.Builder alert = new AlertDialog.Builder(this);
        alert.setTitle("Please enter the par");
        alert.show();
    }
    else {
        //editvalue is a string that I declared but gave no value.
        editvalue = parNum.getText().toString(); 
        par = Integer.parseInt(editvalue);
    }
}
 

Комментарии:

1. Можете ли вы поделиться тем, какое значение вы пишете в Edittext …?

2. Я не совсем уверен, что вы имеете в виду, EditText пуст, и пользователь может ввести в него только цифры 0123456789.

3. Где вы помещаете этот код в btn click или ..?

4. Это метод onClick (View v), поэтому, когда пользователь нажимает на просмотр, запускается этот код.

Ответ №1:

Вы проверяете not equals "" . Поэтому, пожалуйста, удалите ! символ из вашего условия if.

 if (parNum.getText().toString().equals("")){
    AlertDialog.Builder alert = new AlertDialog.Builder(this);
    alert.setTitle("Please enter the par");
    alert.show();
}
else {
    //editvalue is a string that I declared but gave no value.
    editvalue = parNum.getText().toString(); 
    par = Integer.parseInt(editvalue);
}
 

Я надеюсь, что это вам поможет.

Комментарии:

1. Это не имело никакого значения, и предупреждение вообще не отображается.

2. Значение Nothing par просто остается равным 0, и предупреждение не отображается, если оно пустое

3. Где вы инициализируете свой parNum ?

4. В onCreate я сделал это = в EditText