کار نکردن صفت clickable

پرسیده شده
فعالیت 1384 روز پیش
دیده شده 580 بار
1

با احترام

 

آیا ست کردن دستی صفات:

android:clickable="true"

android:foreground="?attr/selectableItemBackground"

جایگزین متد setOnClickListener() هست؟ اگر پاسخ مثبته پس چرا روی برنامه من جواب نمیده؟ یعنی تا متد setOnClickListener() صدا زده نشه کلیک بر روی آیتمها جواب نمیده.

فایل پیوست

پژمان آزاد
پژمان آزاد

25 تیر 99

3
حذف شده

سلام دوست عزیز

صفت selectableItemBackground فقط برای ریپل افکتی هستش که موقع لمس اون آیتم ایجاد میشه و ربطی به کلیک لیسنر نداره

 

اما در مورد صفت onClick در کد های xml:

این صفت میتونه به جای اینترفیس onClickListener مورد استفاده قرار بگیره که شیوه پیاده سازیش به شکل زیر هستش:

در کد های xml اول یه اسم دلخواه برای صفت onClick مشخص میکنیم

<Button android:id="@+id/myBtn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button"
    android:onClick="myMethod" />

در کد های جاوا :

public void myMethod(View v) {
    //do whatever you want here :)
}

این دوتا از لحاظ پرفورمنس تفاوتی ندارن.

فقط onclick از api ۴ به بعد کار میکنه

 البته من استفاده از کلیک لیسنر رو پیشنهاد میدم چون هم انعطاف بیشتری داره و هم بنظرم خوانا تر و معمول تر هستش.

 

فایل پیوست

Pouya Rezaie

توسط

Pouya Rezaie

26 تیر 99