Как мне назначить входной номер в качестве переменной в Android Studio?

#android #kotlin

#Android #kotlin

Вопрос:

Я хочу создать приложение для выбора случайного игрока, поэтому сначала мне нужно получить от пользователя количество игроков, играющих в игру, которое будет моей переменной, а затем мое приложение выберет случайное число из 1 для этого числа, но я не знаю, как использовать это входное число в качестве переменной. Вот мой код:

 <?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">


<Button
    android:id="@ id/button"
    android:layout_width="wrap_content"
    android:layout_height="97dp"
    android:layout_marginTop="556dp"
    android:onClick="onbuttonClicked"
    android:text="@string/start"
    android:textSize="55sp"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.497"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

<TextView
    android:id="@ id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/enter_number_of_players01"
    android:textColor="#2CB5F3"
    android:textSize="35sp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.571"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.179" />

<EditText

    android:id="@ id/number"
    android:layout_width="351dp"
    android:layout_height="86dp"
    android:autofillHints=""
    android:inputType="number"
    android:labelFor="@id/number"
    android:textSize="30sp"

    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.491"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.453" />

    </androidx.constraintlayout.widget.ConstraintLayout>
  

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

1. что вы уже написали в MainActivity чем-нибудь?

Ответ №1:

Работает ли это?

  Button button = (Button) findViewById(R.id.button);
            button .setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    EditText et = findViewById(R.id.number);
                    int num = Integer.parseInt(et.getText().toString()); // num now have the number user given as input
                }
            });
  

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

1. Спасибо, я попробую это как можно скорее

Ответ №2:

Создайте static переменную для входного номера.

static int userInputNumber = 0;

Инициализируйте свой элемент, как EditText и Button в вашем onCreate методе.

 Button button = findViewById(R.id.button);
EditText editText = findViewById(R.id.number);
  

Затем здесь установите onClickListener на кнопку

 button.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
     //Set the userInputNumber, use the Integer.parseInt because what the userinput 
     //is always a String unless you manually set the userinput type
     userInputNumber = Integer.parseInt(editText.getText().toString());
     //Then do what you want when button is clicked
  }
});
  

Затем после этого вы можете использовать userInputNumber in в любой функции, которую вы хотите.