Entrer des nombres avec des boutons
Cette technique permet à l'utilisateur d'entrer facilement des nombres sans avoir à utiliser le clavier virtuel. De plus, les valeurs possibles étant limitées, la validation n'est plus nécessaire.
MainActivity.java
package net.codeandroid.entrenumrique;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private final int MIN = 0;
private final int MAX = 99;
private Button btnMoins;
private Button btnPlus;
private TextView tv;
private int valeur = 10;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnMoins = (Button)findViewById(R.id.btn_moins);
btnPlus = (Button)findViewById(R.id.btn_plus);
tv = (TextView)findViewById(R.id.tv);
tv.setText(Integer.toString(valeur));
btnMoins.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (valeur > MIN) {
valeur--;
tv.setText(Integer.toString(valeur));
}
}
});
btnPlus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (valeur < MAX) {
valeur++;
tv.setText(Integer.toString(valeur));
}
}
});
}
}
activity_main.xml
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="20dp"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/btn_moins"
android:layout_width="0dp"
android:layout_weight="20"
android:layout_height="wrap_content"
android:textSize="50sp"
android:text="-"/>
<TextView
android:id="@+id/tv"
android:layout_width="0dp"
android:layout_weight="60"
android:layout_height="wrap_content"
android:typeface="monospace"
android:textSize="50sp"
android:gravity="center"
android:text="99"/>
<Button
android:id="@+id/btn_plus"
android:layout_width="0dp"
android:layout_weight="20"
android:layout_height="wrap_content"
android:textSize="50sp"
android:text="+"/>
</LinearLayout>
</LinearLayout>
