Android - ishlov berish tugmasi orasidagi farqni bajarishda voqealarni bosing

I have a question about handling click event of button. I have already read this article

Men kodni, uslubni, o'qiydigan narsani farqlayman ... Lekin men bu ikki usulda ishlash haqida farqni bilmayman:

  • The first way:

    buttonA.setOnClickListener(this).

  • The second way:

    buttonB.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //To do something } });

Buni kim aniqladi?

0
Kechirasiz, maqolangiz faqat bilishim kerak bo'lgan javob bo'lmagan ikki usulni solishtiradi. Men savolni tahrirladim
qo'shib qo'ydi muallif Brasc elok, manba

9 javoblar

Agar bor bo'lsa, siz bu haqda tashvishlanmasligingiz kerak, chunki bu kichik. O'qish qobiliyati juda muhim.

"Ikkinchi" usuli yana bitta ob'ektni yaratadi.

3
qo'shib qo'ydi

Agar bor bo'lsa, siz bu haqda tashvishlanmasligingiz kerak, chunki bu kichik. O'qish qobiliyati juda muhim.

"Ikkinchi" usuli yana bitta ob'ektni yaratadi.

3
qo'shib qo'ydi

Agar bor bo'lsa, siz bu haqda tashvishlanmasligingiz kerak, chunki bu kichik. O'qish qobiliyati juda muhim.

"Ikkinchi" usuli yana bitta ob'ektni yaratadi.

3
qo'shib qo'ydi

Ikkinchidan, siz yangi View.OnClickListener yaratasiz, ob'ektlar yaratish uchun vaqt talab etiladi va ularni saqlash uchun xotira.

Men tinglovchilarni tinglovchilarga tatbiq qilishdan qochyapman, agar men tinglovchilarni ko'p joylarda qo'llamoqchi bo'lgan maydonni yaratganimdan foydalansam, annonat sinfni (Ikkinchi yo'l) ishlatishni afzal ko'raman.

0
qo'shib qo'ydi

Ikkinchidan, siz yangi View.OnClickListener yaratasiz, ob'ektlar yaratish uchun vaqt talab etiladi va ularni saqlash uchun xotira.

Men tinglovchilarni tinglovchilarga tatbiq qilishdan qochyapman, agar men tinglovchilarni ko'p joylarda qo'llamoqchi bo'lgan maydonni yaratganimdan foydalansam, annonat sinfni (Ikkinchi yo'l) ishlatishni afzal ko'raman.

0
qo'shib qo'ydi

Ikkinchidan, siz yangi View.OnClickListener yaratasiz, ob'ektlar yaratish uchun vaqt talab etiladi va ularni saqlash uchun xotira.

Men tinglovchilarni tinglovchilarga tatbiq qilishdan qochyapman, agar men tinglovchilarni ko'p joylarda qo'llamoqchi bo'lgan maydonni yaratganimdan foydalansam, annonat sinfni (Ikkinchi yo'l) ishlatishni afzal ko'raman.

0
qo'shib qo'ydi

Birinchi usul OnCLickListener sinfini amalga oshiradi, ikkinchi uslub Anonim sinfni yaratadi Birinchi usul sizning kodingiz yanada tartibli va sog'lom bo'lishiga olib keladi, biroq sizda bir nechta tugma mavjud bo'lsa, u holda OnCLick usulida qo'shimcha kod qo'shishingiz kerak.
Anonim sinflarda, bir marta bosish hodisasi ro'y berganda, yangi ob'ekt yaratiladi, bu esa, albatta, ishlashga ta'sir qilmaydi. Buning ta'siri sezilarli emas. Biroq ob'ektlar dinamik ravishda yaratilganligi uchun, ob'ekt endi foydalanilmasdan so'ng, Chiqindilarni yig'uvchisi biriktirilgan xotirani bo'shatishini anglatadi

Xulosa qilib aytganda, ularning ikkala ishlashida ham sezilarli farq yo'q. Qaysi biri ishlatilishini hal qilish ehtiyojingizga/talabingizga bog'liq.

0
qo'shib qo'ydi

Birinchi usul OnCLickListener sinfini amalga oshiradi, ikkinchi uslub Anonim sinfni yaratadi Birinchi usul sizning kodingiz yanada tartibli va sog'lom bo'lishiga olib keladi, biroq sizda bir nechta tugma mavjud bo'lsa, u holda OnCLick usulida qo'shimcha kod qo'shishingiz kerak.
Anonim sinflarda, bir marta bosish hodisasi ro'y berganda, yangi ob'ekt yaratiladi, bu esa, albatta, ishlashga ta'sir qilmaydi. Buning ta'siri sezilarli emas. Biroq ob'ektlar dinamik ravishda yaratilganligi uchun, ob'ekt endi foydalanilmasdan so'ng, Chiqindilarni yig'uvchisi biriktirilgan xotirani bo'shatishini anglatadi

Xulosa qilib aytganda, ularning ikkala ishlashida ham sezilarli farq yo'q. Qaysi biri ishlatilishini hal qilish ehtiyojingizga/talabingizga bog'liq.

0
qo'shib qo'ydi

Birinchi usul OnCLickListener sinfini amalga oshiradi, ikkinchi uslub Anonim sinfni yaratadi Birinchi usul sizning kodingiz yanada tartibli va sog'lom bo'lishiga olib keladi, biroq sizda bir nechta tugma mavjud bo'lsa, u holda OnCLick usulida qo'shimcha kod qo'shishingiz kerak.
Anonim sinflarda, bir marta bosish hodisasi ro'y berganda, yangi ob'ekt yaratiladi, bu esa, albatta, ishlashga ta'sir qilmaydi. Buning ta'siri sezilarli emas. Biroq ob'ektlar dinamik ravishda yaratilganligi uchun, ob'ekt endi foydalanilmasdan so'ng, Chiqindilarni yig'uvchisi biriktirilgan xotirani bo'shatishini anglatadi

Xulosa qilib aytganda, ularning ikkala ishlashida ham sezilarli farq yo'q. Qaysi biri ishlatilishini hal qilish ehtiyojingizga/talabingizga bog'liq.

0
qo'shib qo'ydi