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>