50个Android开发技巧(09 避免用EditText对日期进行验证)
生活随笔
收集整理的這篇文章主要介紹了
50个Android开发技巧(09 避免用EditText对日期进行验证)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我們都知道,在表單中對數據進行驗證不但無聊并且easy出錯。
(原文地址:http://blog.csdn.net/vector_yi/article/details/24424713)
想象一下,一個表單內有若干個須要日期類型的輸入,而你又不想對這些輸入信息進行日期類型的驗證,你會怎么做? 這里有一種解決的方法是,讓用戶覺得他們是在一個EditText中操作,但實際上是一個Button,點擊這個Button時會彈出一個DatePicker。 為了讓這個方法可行,我們須要改變這個Button的背景,讓用戶以為這是一個EditText。 事實上非常easy: <Button android:id="@+id/details_date" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center_vertical" android:background="@android:drawable/edit_text" /><!--將Button的背景改為EditText的背景-->
接下來僅僅要在Activity中加入Button的點擊事件。讓它彈出一個DatePicker并將選中的日期設為Button的Text就可以。
可能你會覺得EditText和Button都繼承自TextView。為何不直接創建一個EditText并加入OnClickListener? 可是Button不同意用戶直接編輯顯示的文字,顯然讓驗證更加安全。
你可能還在堅持,能夠把EditText的Editable屬性設為false。 可是既然Button存在的意義就是能夠點擊而且不能改動顯示的文字。為何你要強加給EditText一些原本不適合它的屬性讓它變成一個Button?
你也能夠利用TextWatcher來驗證EditText的輸入,但這真的不僅無聊并且還費時。
(原文地址:http://blog.csdn.net/vector_yi/article/details/24424713)
想象一下,一個表單內有若干個須要日期類型的輸入,而你又不想對這些輸入信息進行日期類型的驗證,你會怎么做? 這里有一種解決的方法是,讓用戶覺得他們是在一個EditText中操作,但實際上是一個Button,點擊這個Button時會彈出一個DatePicker。 為了讓這個方法可行,我們須要改變這個Button的背景,讓用戶以為這是一個EditText。 事實上非常easy: <Button android:id="@+id/details_date" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center_vertical" android:background="@android:drawable/edit_text" /><!--將Button的背景改為EditText的背景-->
接下來僅僅要在Activity中加入Button的點擊事件。讓它彈出一個DatePicker并將選中的日期設為Button的Text就可以。
可能你會覺得EditText和Button都繼承自TextView。為何不直接創建一個EditText并加入OnClickListener? 可是Button不同意用戶直接編輯顯示的文字,顯然讓驗證更加安全。
你可能還在堅持,能夠把EditText的Editable屬性設為false。 可是既然Button存在的意義就是能夠點擊而且不能改動顯示的文字。為何你要強加給EditText一些原本不適合它的屬性讓它變成一個Button?
你也能夠利用TextWatcher來驗證EditText的輸入,但這真的不僅無聊并且還費時。
轉載于:https://www.cnblogs.com/yutingliuyl/p/7072430.html
總結
以上是生活随笔為你收集整理的50个Android开发技巧(09 避免用EditText对日期进行验证)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js 中的break continue
- 下一篇: jQuery中focusin()和foc