Android實(shí)現(xiàn)EditText控件禁止輸入內(nèi)容的方法(附測(cè)試demo)
本文實(shí)例講述了Android實(shí)現(xiàn)EditText控件禁止輸入內(nèi)容的方法。分享給大家供大家參考,具體如下:
問題:
android如何實(shí)現(xiàn)EditText控件禁止往里面輸入內(nèi)容?
修改版解決方法:
EditText editText = (EditText) findViewById(R.id.editText1); editText.setKeyListener(null);
看到這個(gè)問題大家可能有點(diǎn)奇怪了,EditText的功能不就是往上面寫入內(nèi)容嗎?
再者,如果真要禁止輸入文本,在布局文件中添加 android:focusable="false",
或者在代碼中使用editText.setFocusable(false),不就Ok了?
項(xiàng)目需求是這樣的,如果EditText上面已經(jīng)被setText()內(nèi)容,則需要禁止輸入,防止它被修改。
如果沒有顯示內(nèi)容,則將EditText設(shè)置為可輸入狀態(tài)。
經(jīng)過測(cè)試驗(yàn)證:setFocusable方法的效果只有第一次使用時(shí)有效,也就是說若在布局文件里面設(shè)置:
android:focusable="false",即使你在代碼中設(shè)置此控件屬性:editText.setFocusable(true);也不能對(duì)它進(jìn)行編輯。
即setFocusable方案不可行。經(jīng)過摸索得出可行方案。
利用 editText.setInputType(InputType.TYPE_NULL);來禁止手機(jī)軟鍵盤。
editText.setInputType(InputType.TYPE_CLASS_TEXT);來開啟軟鍵盤。
應(yīng)用程序默認(rèn)為開啟狀態(tài)。
特別注意:這種方法也只能禁止軟鍵盤,若手機(jī)自帶硬鍵盤,此方案失效。
附測(cè)試demo:
public class EditTextTest extends Activity { /** test EditText forbid input function demo */ EditText editText; boolean flag = true; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); editText = (EditText) findViewById(R.id.editText1); Button btn = (Button) findViewById(R.id.button1); btn.setOnClickListener(new OnClickListener() { public void onClick(View v) { if (flag==true) { System.out.println("開啟軟鍵盤"); editText.setInputType(InputType.TYPE_CLASS_TEXT); flag = false; }else { System.out.println("禁止軟鍵盤"); editText.setInputType(InputType.TYPE_NULL); flag = true; } } }); } }
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
- Android高仿微信支付密碼輸入控件
- Android自定義控件通用驗(yàn)證碼輸入框的實(shí)現(xiàn)
- Android如何禁止向EditText控件中輸入內(nèi)容詳解
- Android用戶輸入自動(dòng)提示控件AutoCompleteTextView使用方法
- Android 帶清除功能的輸入框控件實(shí)例詳解
- Android開發(fā)中給EditText控件添加TextWatcher監(jiān)聽實(shí)現(xiàn)對(duì)輸入字?jǐn)?shù)的限制(推薦)
- Android帶清除功能的輸入框控件EditTextWithDel
- Android輸入框控件ClearEditText實(shí)現(xiàn)清除功能
- Android WebView控件捕獲用戶輸入的信息
- Android自定義view實(shí)現(xiàn)輸入控件
相關(guān)文章
Android中使用Matrix控制圖形變換和制作倒影效果的方法
這篇文章主要介紹了Android中使用Matrix控制圖形變換和制作倒影效果的方法,用Matrix來作矩陣變化十分強(qiáng)大,文中的制作倒影的例子便是一個(gè)十分巧妙的運(yùn)用,需要的朋友可以參考下2016-04-04Android中簡(jiǎn)單的電話管理與短信管理App編寫實(shí)例
這篇文章主要介紹了Android中簡(jiǎn)單的電話管理與短信管理App編寫實(shí)例,包括監(jiān)聽電話的呼叫狀態(tài)以及短信群發(fā)聯(lián)系人選擇等基本功能的實(shí)現(xiàn),代碼突出要點(diǎn),需要的朋友可以參考下2016-04-04一文帶你了解Android?Flutter中Transform的使用
flutter的強(qiáng)大之處在于,可以對(duì)所有的widget進(jìn)行Transform,因此可以做出非??犰诺男Ч?。本文就來大家了解一下Transform的具體使用,感興趣的可以了解一下2023-01-01Android自定義PopupWindow實(shí)現(xiàn)炫酷的IOS對(duì)話框效果
這篇文章主要給大家介紹如何在android中實(shí)現(xiàn)高仿ios對(duì)話框效果,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2018-05-05Android開發(fā)使用HttpURLConnection進(jìn)行網(wǎng)絡(luò)編程詳解【附源碼下載】
這篇文章主要介紹了Android開發(fā)使用HttpURLConnection進(jìn)行網(wǎng)絡(luò)編程的方法,結(jié)合實(shí)例形式分析了Android基于HttpURLConnection實(shí)現(xiàn)顯示圖片與文本功能,涉及Android布局、文本解析、數(shù)據(jù)傳輸、權(quán)限控制等相關(guān)操作技巧,需要的朋友可以參考下2018-01-01Android自定義View實(shí)現(xiàn)loading動(dòng)畫加載效果
項(xiàng)目開發(fā)中對(duì)Loading的處理是比較常見的,安卓系統(tǒng)提供的不太美觀,引入第三發(fā)又太麻煩,這時(shí)候自己定義View來實(shí)現(xiàn)這個(gè)效果。這篇文章主要介紹了Android自定義View實(shí)現(xiàn)loading動(dòng)畫加載效果,需要的朋友可以參考下2017-03-03Android手把手教大家制作APP首頁(下拉刷新、自動(dòng)加載)
這篇文章主要為大家詳細(xì)介紹了Android手把手教大家制作APP首頁,實(shí)現(xiàn)下拉刷新、自動(dòng)加載功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01Android中DrawerLayout實(shí)現(xiàn)側(cè)滑菜單效果
這篇文章主要為大家詳細(xì)介紹了Android中DrawerLayout實(shí)現(xiàn)側(cè)滑菜單效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10