#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 в любой функции, которую вы хотите.