1 of 8

Event Handling va Listeners: onClick, onLongClick, onTouch, TextWatcher va boshqa listenerlar bilan ishlash

2 of 8

Event Handling — bu foydalanuvchi (user) tomonidan amalga oshirilgan harakatlarga (hodisalarga) javob qaytarish jarayonidir.

�Masalan:

  • Foydalanuvchi tugmani bosadi (click)
  • Matn kiritadi (text input)
  • Ekranga tegadi (touch)
  • Tugmani uzoq bosadi (long click)
  • Android’da bularning barchasi Listener lar orqali amalga oshiriladi.

3 of 8

Listener — bu ma’lum bir hodisani tinglab, u sodir bo‘lganda javob beradigan obyekt yoki interfeysdir.

button.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

// tugma bosilganda bajariladigan kod

}

});

4 of 8

onClickListener�Bu eng ko‘p ishlatiladigan listener bo‘lib, tugma (Button), rasm (ImageView), yoki boshqa view bosilganda ishlaydi.�

Button btnHello = findViewById(R.id.btnHello);

btnHello.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

Toast.makeText(MainActivity.this, "Salom, dunyo!", Toast.LENGTH_SHORT).show();

}

});

Button btnHello = findViewById(R.id.btnHello);

btnHello.setOnClickListener(v-> {

Toast.makeText(MainActivity.this, "Salom, dunyo!", Toast.LENGTH_SHORT).show();

});

5 of 8

onLongClickListener�Foydalanuvchi tugmani uzoq bosganda ishga tushadi.�

btnHello.setOnLongClickListener(new View.OnLongClickListener() {

@Override

public boolean onLongClick(View v) {

Toast.makeText(MainActivity.this, "Uzoq bosildi!", Toast.LENGTH_SHORT).show();

return true; // true qaytarish hodisani tugatadi

}

});

6 of 8

📝 TextWatcher�Bu listener EditText ichidagi matn o‘zgarishini kuzatadi.�

EditText editText = findViewById(R.id.editText);

editText.addTextChangedListener(new TextWatcher() {

@Override

public void beforeTextChanged(CharSequence s, int start, int count, int after) {

// Matn o‘zgarmasdan oldin

}

@Override

public void onTextChanged(CharSequence s, int start, int before, int count) {

// Matn o‘zgarganda

}

@Override

public void afterTextChanged(Editable s) {

// Matn o‘zgargandan keyin

Toast.makeText(MainActivity.this, "Matn: " + s.toString(), Toast.LENGTH_SHORT).show();

}

});

7 of 8

Listener

Tavsif

OnFocusChangeListener

View fokusga ega bo‘lganda yoki yo‘qotganda ishlaydi

OnKeyListener

Klaviatura tugmalari bosilganda ishlaydi

OnCheckedChangeListener

Switch, CheckBox, RadioButton holati o‘zgarganda ishlaydi

OnItemClickListener

ListView yoki AdapterView elementlari bosilganda ishlaydi

Boshqa foydali Listenerlar

8 of 8