Android編程之TextView的字符過濾功能分析
本文實例分析了Android編程之TextView的字符過濾功能。分享給大家供大家參考,具體如下:
TextView可以設置接受各式各樣的字符,通過過濾指定的字符來滿足不同應用的輸入和顯示要求。
通過xml配置:
android:InputType
number 接受整數輸入
numberSigned 接受有符號整數輸入
numberDecimal 接受整數和小數的輸入
android:digits
指定接受固定的數字,如android:digits="012345",則只接受0~5數字的輸入
android:numberic
integer 接受整數輸入
signed 接受有符號整數輸入
decimal 接受整數和小數輸入
通過java代碼設置
其實以上3個屬性,功能有點重復,最終都是通過java代碼來對TextView設置KeyListener
KeyListener是一個接口,提供了對輸入鍵盤按鍵的監(jiān)聽
InputFilter是一個接口,提供了對字符的過濾
android提供了實現了KeyListener和InputFilter的NumberKeyListener,而DigitsKeyListener繼承了NumberKeyListener
TextView tv = new TextView(context); //只接受整數輸入 KeyListener l = new DigitsKeyListener(fasle,false); //接受有符號整數輸入 KeyListener l = new DigitsKeyListener(true,false); //接受小數,整數輸入 KeyListener l = new DigitsKeyListener(false,true); //接受有符號整數/小數輸入 KeyListener l = new DigitsKeyListener(true,true); tv.setKeyListener(l);
如果想要實現更大自由度的過濾定制,可以自己寫一個KeyListener(繼承BaseKeyListener)并實現InputFilter,重寫filter()函數,在filter()函數里可以實現自由的過濾。
希望本文所述對大家Android程序設計有所幫助。
相關文章
Android?TextView的maxEms和maxLength屬性區(qū)別
這篇文章主要為大家介紹了Android?TextView的maxEms和maxLength屬性區(qū)別,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03Android PreferenceActivity與PreferenceFragment詳解及簡單實例
這篇文章主要介紹了Android PreferenceActivity與PreferenceFragment詳解及簡單實例的相關資料,需要的朋友可以參考下2016-12-12Android使用ContentResolver搜索手機通訊錄的方法
這篇文章主要介紹了Android使用ContentResolver搜索手機通訊錄的方法,結合實例形式分析了Android中ContentResolver操作手機通訊錄的具體步驟與相關實現技巧,需要的朋友可以參考下2016-01-01Android App中使用LinearLayout進行居中布局的實例講解
這篇文章主要介紹了Android App中使用LinearLayout進行居中布局的實例講解,文中分別介紹了水平居中和垂直居中的相關線性布局,需要的朋友可以參考下2016-04-04