Event Handling va Listeners: onClick, onLongClick, onTouch, TextWatcher va boshqa listenerlar bilan ishlash
Event Handling — bu foydalanuvchi (user) tomonidan amalga oshirilgan harakatlarga (hodisalarga) javob qaytarish jarayonidir.
�Masalan:
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
}
});
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();
});
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
}
});
📝 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();
}
});
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