Membuat fungsi onclicklistener() dapat anda lakukan dengan berbagai cara dengan menambahkan fungsionalitas klik pada icon Drawable EditText.
Sebagai contoh jika anda melakukan klik pada icon “add” akan menambah nilai pada yang ditampilkan oleh EditText. Dan jika anda klik pada icon “remove” akan mengurangi nilainya.
activity_main.xml
Pada layout buat EditText dengan menambahkan icon pada “drawableStart” dan “drawableEnd”.
Kode lengkap activity_main.xml adalah sebagai berikut
<?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"> EditText android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawableStart="@drawable/ic_baseline_remove_circle_24" android:drawableEnd="@drawable/ic_baseline_add_circle_24" android:ems="10" android:gravity="center_horizontal" android:inputType="textPersonName" android:text="1" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> /androidx.constraintlayout.widget.ConstraintLayout>
Artikel Menarik Lainnya
MainActivity
Pada MainActivity tambahkan “OnTouchListener” seperti berikut
public class MainActivity extends AppCompatActivity { @SuppressLint("ClickableViewAccessibility") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); EditText myText = findViewById(R.id.editText1); myText.setOnTouchListener((view, motionEvent) -> { final int DRAWABLE_LEFT = 0; final int DRAWABLE_TOP = 1; final int DRAWABLE_RIGHT = 2; final int DRAWABLE_BOTTOM = 3; if (motionEvent.getAction() == MotionEvent.ACTION_UP) { if (motionEvent.getRawX() >= (myText.getRight() - myText.getCompoundDrawables()[DRAWABLE_RIGHT].getBounds().width())) { Toast.makeText(MainActivity.this, "You clicked on Add Button", Toast.LENGTH_LONG).show(); return true; } if (motionEvent.getRawX() >= myText.getCompoundDrawables()[DRAWABLE_LEFT].getBounds().width()) { Toast.makeText(MainActivity.this, "You clicked on Remove Button", Toast.LENGTH_LONG).show(); return true; } } return false; }); } }