Android: Event Handler dan event Listener

Event Handler dan event Listener

Event Handler dan event Listener

Event Handler Event Listener & Descripsi
onCreateContextMenu() onCreateContextMenuItemListener()
Ini dipanggil ketika konteks menu sedang di buat, sebagai hasil dari klik panjang yang berkelanjutan
onClick() OnClickListener()
Ini dipanggil ketika pengguna mengklik atau menyentuh pada widget seperti tombol, teks, gambar, dll. Anda akan menggunakan event handler onClick() untuk menangani event tersebut.
onLongClick() OnLongClickListener()
Ini dipanggil ketika pengguna mengklik atau menyentuh lama pada widget seperti tombol, teks, gambar, dll. selama satu detik atau lebih. Anda akan menggunakan event handler onLongClick() untuk menangani event tersebut.
onFocusChange() OnFocusChangeListener()
Ini dipanggil ketika keadaan fokus suatu view telah berubah. Parameter. Anda akan menggunakan event handler onFocusChange() untuk menangani event tersebut.
onKey() OnFocusChangeListener()
Ini dipanggil saat kunci perangkat keras dikirim ke view. Anda akan menggunakan event handler onKey() untuk menangani event tersebut.
onMenuItemClick() OnMenuItemClickListener()
Ini dipanggil ketika pengguna memilih item menu. Anda akan menggunakan event handler onMenuItemClick() untuk menangani event tersebut.
onTouch() OnTouchListener()
Ini dipanggil ketika pengguna menekan tombol, melepaskan tombol, atau gerakan gerakan apa pun di layar. Anda akan menggunakan event handler onTouch() untuk menangani event tersebut.

Berikut ini ada tiga konsep yang terkait dengan Event Manajemen pada Android:

* Event Handlers: Ketika suatu peristiwa terjadi dan kita telah mendaftarkan event listener untuk event tersebut, event listener memanggil Event Handlers, yang merupakan metode yang akan menangani event tersebut.
* Event Listener Registrasi: Pendaftaran Acara adalah proses di mana Penangan Acara didaftarkan ke Event Listener sehingga penangan dipanggil ketika Pendengar Acara menjalankan acara.
* Event Listener: Event listener adalah antarmuka di kelas View yang berisi satu metode callback. Metode ini akan dipanggil oleh kerangka kerja Android ketika View pada listener telah terdaftar dipicu oleh interaksi pengguna dengan item di UI.

Ada banyak pendengar acara yang tersedia sebagai bagian dari kelas View seperti OnHoverListener, OnDragListener dll yang mungkin diperlukan untuk aplikasi Anda. Jadi saya sarankan untuk merujuk dokumentasi resmi untuk pengembangan aplikasi Android jika Anda akan mengembangkan aplikasi yang unik dan sesuai.

Contoh Event Handler

Pendaftaran event listener dengan Menggunakan Kelas Dalam Anonim

Di sini Anda akan membuat implementasi anonim dari listener dan akan berguna jika setiap kelas diterapkan ke satu kontrol saja dan Anda memiliki keuntungan untuk meneruskan argumen ke event handler. Dalam pendekatan ini metode event handler dapat mengakses data pribadi Activity. Tidak diperlukan referensi untuk memanggil ke Aktivitas.

Tetapi jika Anda menerapkan handler ke lebih dari satu kontrol, Anda harus memotong dan menempelkan kode untuk handler dan jika kode untuk handler panjang, itu membuat kode lebih sulit untuk dipertahankan.

Berikut adalah langkah-langkah sederhana untuk menunjukkan bagaimana kita akan menggunakan kelas Listener terpisah untuk mendaftar dan menangkap klik event. Dengan cara serupa Anda dapat menerapkan listener Anda untuk jenis acara lain yang diperlukan.

1. Tambahkan klik event handler dan listener untuk tombol yang ditentukan pada file MainActivity.java.
2. Tambahkan sebuah TextView pada file res/layout/activity_main.xml untuk menyertakan kontrol UI Android, Tidak perlu mendeklarasikan konstanta string default. Android studio menangani konstanta default.
3. Jalankan aplikasi untuk meluncurkan emulator Android dan verifikasi hasil perubahan yang dilakukan dalam aplikasi.
Berikut ini akan menjadi konten file res/layout/activity_main.xml:


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
	xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_width="match_parent"
	android:layout_height="match_parent"
	android:gravity="center"
	android:orientation="vertical">
<TextView
	android:layout_height="wrap_content"
	android:layout_width="wrap_content"
	android:text="Hello world!"
	android:layout_marginBottom="10dp"
	android:gravity="center"
	android:textSize="25sp"
	android:textColor="#FF000000"
	android:textStyle="bold"
	android:id="@+id/activitymainTextView1"/>
<Button
	android:layout_height="wrap_content"
	android:layout_width="wrap_content"
	android:text="KLIK"
	android:layout_marginTop="35dp"
	android:textSize="18sp"
	android:textStyle="bold"
	android:textColor="#FFFFFF"
	android:id="@+id/activitymainButton1"
	android:padding="6dp"/>
</LinearLayout>

Berikut ini adalah konten file aktivitas utama yang dimodifikasi MainActivity.java, File ini dapat mencakup masing-masing metode siklus hidup dasar.


package com.happycodx.app;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.TextView;
import android.view.View;

public class MainActivity extends Activity { 
     Button button;
	 TextView textview;
	 int count = 0;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
		button = (Button) findViewById(R.id.activitymainButton1);
		textview = (TextView) findViewById(R.id.activitymainTextView1);
		
		button.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {
				count = count + 1;
				setText();
			}
		});
	}
	
	public void setText() {
		switch (count) {
			case (0):
				textview.setText("Hallo world!..");
				break;
			case (1):
				textview.setText("Happy Hacking..");
				break;
			case (2):
				textview.setText("-- Happycodx --");
				break;
				default:
				break;
		}
	}
} 

Hasilnya:



Event Listener Registrasi

Pendaftaran Acara adalah proses di mana Event Handler terdaftar di Event Listener sehingga handler dipanggil ketika Event Listener menjalankan event. Meskipun ada beberapa cara rumit untuk mendaftarkan pendengar acara Anda untuk acara apa pun, tetapi saya hanya akan mencantumkan 3 cara teratas, di mana Anda dapat menggunakan salah satunya berdasarkan situasinya.

  • Menggunakan Kelas Dalam Anonim
  • Kelas aktivitas mengimplementasikan antarmuka Listener.
  • Menggunakan file Layout activity_main.xml untuk menentukan event handler secara langsung.

Bagian di bawah ini akan memberi Anda contoh terperinci tentang ketiga skenario:

Focus

View atau widget biasanya disorot atau menampilkan kursor yang berkedip saat berada dalam fokus. Ini menunjukkan bahwa ia siap menerima masukan dari pengguna.
  • isFocusable() mengembalikan true atau false
  • isFocusableInTouchMode() memeriksa untuk melihat apakah tampilan dapat difokuskan dalam mode sentuh. Tampilan mungkin dapat difokuskan saat menggunakan tombol perangkat keras tetapi tidak saat perangkat dalam mode sentuh.


android:foucsUp="@=id/button_l"

onTouchEvent()


public boolean onTouchEvent(motionEvent event){
   switch(event.getAction()){
      case TOUCH_DOWN:
      Toast.makeText(this,"you have clicked up Touch button",Toast.LENTH_LONG).show();
      break();
   
      case TOUCH_UP:
      Toast.makeText(this,"you have clicked down touch button",Toast.LENTH_LONG).show();
      break;
   
      case TOUCH_MOVE:
      Toast.makeText(this,"you have clicked move touch button"Toast.LENTH_LONG).show();
      break;
   }
   return super.onTouchEvent(event) ;
}

Touch Mode

Mode sentuh adalah status hierarki tampilan yang hanya bergantung pada interaksi pengguna dengan telepon. Dengan sendirinya, mode sentuh adalah sesuatu yang sangat mudah dipahami karena hanya menunjukkan apakah interaksi pengguna terakhir dilakukan dengan layar sentuh. Misalnya, jika Anda menggunakan ponsel G1, memilih widget dengan trackball akan membawa Anda keluar dari mode sentuh; Namun, jika Anda menyentuh tombol di layar dengan jari Anda, Anda akan masuk ke mode sentuh. Ketika pengguna tidak dalam mode sentuh, kita berbicara tentang mode trackball, mode navigasi atau navigasi keyboard, jadi jangan heran jika Anda menemukan istilah-istilah ini.

Baca Juga
Posting Komentar (0)
Lebih baru Lebih lama