生活随笔
收集整理的這篇文章主要介紹了
Androidz之clickable
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在android Button的xml文件屬性中有這麼一個屬性標簽:
[html]?view plaincopyprint?
android:clickable?? 該標簽(繼承自View的xml屬性)的值必須是boolean值,即true、false。該標簽目的是設置button是否可以被點擊。
于是,我Demo一把,xml文件如下:
[html]?view plaincopyprint?
<Button?? ????android:id="@+id/btn_to"?? ????android:clickable="true"?? ????android:layout_width="fill_parent"??? ????android:layout_height="wrap_content"??? ????android:text="to"?? ????/>???? 不好意思,運行之后,該Button一如既往的好使,并沒有“不可點擊”。搞不明白、、、、
在 android 中幾乎每一個xml屬性,對應的都有一個方法,于是我改用下面的方法:
[java]?view plaincopyprint?
setClickable();?? 心里想,這次應該可以了,示意代碼:
[java]?view plaincopyprint?
btn_to.setClickable(false);?? btn_to.setOnClickListener(new?Button.OnClickListener()?{?? ?? ????@Override?? ????public?void?onClick(View?v)?{?? ??????//?to?do???? ????}?? });?? 再次運行,還是不行!沒辦法,看源碼吧!
我們知道,點擊 button 會觸發下面的源碼(View.java):
[java]?view plaincopyprint?
public?void?setOnClickListener(OnClickListener?l)?{?? ????????if?(!isClickable())?{?? ????????????setClickable(true);?? ????????}?? ????????mOnClickListener?=?l;?? ????}?? 呵呵,你會明白,只要點擊button都會將setClickable設置為true,所以在setOnClickListener之前setClickable設置為false只不過是多此一舉!
那么,解決辦法就出來了,調換一下代碼的位置即可:
[java]?view plaincopyprint?
btn_to.setOnClickListener(new?Button.OnClickListener()?{?? ?? ????@Override?? ????public?void?onClick(View?v)?{?? ????????//?to?do?? ????}?? });?? ?????????? btn_to.setClickable(false);?? 這樣,你再次點擊button試一試,呵呵,它無動于衷了吧!
yes,搞定!
android:clickable??
在android Button的xml文件屬性中有這麼一個屬性標簽:
[html]?view plaincopyprint?
android:clickable?? 該標簽(繼承自View的xml屬性)的值必須是boolean值,即true、false。該標簽目的是設置button是否可以被點擊。
于是,我Demo一把,xml文件如下:
[html]?view plaincopyprint?
<Button?? ????android:id="@+id/btn_to"?? ????android:clickable="true"?? ????android:layout_width="fill_parent"??? ????android:layout_height="wrap_content"??? ????android:text="to"?? ????/>???? 不好意思,運行之后,該Button一如既往的好使,并沒有“不可點擊”。搞不明白、、、、
在 android 中幾乎每一個xml屬性,對應的都有一個方法,于是我改用下面的方法:
[java]?view plaincopyprint?
setClickable();?? 心里想,這次應該可以了,示意代碼:
[java]?view plaincopyprint?
btn_to.setClickable(false);?? btn_to.setOnClickListener(new?Button.OnClickListener()?{?? ?? ????@Override?? ????public?void?onClick(View?v)?{?? ??????//?to?do???? ????}?? });?? 再次運行,還是不行!沒辦法,看源碼吧!
我們知道,點擊 button 會觸發下面的源碼(View.java):
[java]?view plaincopyprint?
public?void?setOnClickListener(OnClickListener?l)?{?? ????????if?(!isClickable())?{?? ????????????setClickable(true);?? ????????}?? ????????mOnClickListener?=?l;?? ????}?? 呵呵,你會明白,只要點擊button都會將setClickable設置為true,所以在setOnClickListener之前setClickable設置為false只不過是多此一舉!
那么,解決辦法就出來了,調換一下代碼的位置即可:
[java]?view plaincopyprint?
btn_to.setOnClickListener(new?Button.OnClickListener()?{?? ?? ????@Override?? ????public?void?onClick(View?v)?{?? ????????//?to?do?? ????}?? });?? ?????????? btn_to.setClickable(false);?? 這樣,你再次點擊button試一試,呵呵,它無動于衷了吧!
yes,搞定!
在android Button的xml文件屬性中有這麼一個屬性標簽:
[html]?view plaincopyprint?
android:clickable?? 該標簽(繼承自View的xml屬性)的值必須是boolean值,即true、false。該標簽目的是設置button是否可以被點擊。
于是,我Demo一把,xml文件如下:
[html]?view plaincopyprint?
<Button?? ????android:id="@+id/btn_to"?? ????android:clickable="true"?? ????android:layout_width="fill_parent"??? ????android:layout_height="wrap_content"??? ????android:text="to"?? ????/>???? 不好意思,運行之后,該Button一如既往的好使,并沒有“不可點擊”。搞不明白、、、、
在 android 中幾乎每一個xml屬性,對應的都有一個方法,于是我改用下面的方法:
[java]?view plaincopyprint?
setClickable();?? 心里想,這次應該可以了,示意代碼:
[java]?view plaincopyprint?
btn_to.setClickable(false);?? btn_to.setOnClickListener(new?Button.OnClickListener()?{?? ?? ????@Override?? ????public?void?onClick(View?v)?{?? ??????//?to?do???? ????}?? });?? 再次運行,還是不行!沒辦法,看源碼吧!
我們知道,點擊 button 會觸發下面的源碼(View.java):
[java]?view plaincopyprint?
public?void?setOnClickListener(OnClickListener?l)?{?? ????????if?(!isClickable())?{?? ????????????setClickable(true);?? ????????}?? ????????mOnClickListener?=?l;?? ????}?? 呵呵,你會明白,只要點擊button都會將setClickable設置為true,所以在setOnClickListener之前setClickable設置為false只不過是多此一舉!
那么,解決辦法就出來了,調換一下代碼的位置即可:
[java]?view plaincopyprint?
btn_to.setOnClickListener(new?Button.OnClickListener()?{?? ?? ????@Override?? ????public?void?onClick(View?v)?{?? ????????//?to?do?? ????}?? });?? ?????????? btn_to.setClickable(false);?? 這樣,你再次點擊button試一試,呵呵,它無動于衷了吧!
yes,搞定!
總結
以上是生活随笔為你收集整理的Androidz之clickable的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。