Android如何禁止向EditText控件中輸入內(nèi)容詳解
前言
在Android開發(fā)中經(jīng)常會遇到EditText控件,而在App開發(fā)過程中、遇到了這樣一個(gè)問題、那就是Android EditText控件如何禁止往里面輸入內(nèi)容?
最開始找到修改版解決方法、但是當(dāng)想輸入的時(shí)候就有問題了、可以參考一下、但不建議這樣寫
EditText editText = (EditText) findViewById(R.id.editText1); editText.setKeyListener(null);
看到這個(gè)問題大家可能有點(diǎn)奇怪了、EditText的功能不就是往上面寫入內(nèi)容嗎?再者、如果真要禁止輸入文本、在布局文件中添加
android:focusable="false"
或者在代碼中使用、不就Ok了?
editText.setFocusable(false)
項(xiàng)目需求是這樣的、在EditText后面跟一個(gè)CheckBox、勾選CheckBox可以輸入、否則不可以輸入、另外也有這種需求、比如已經(jīng)被setText()內(nèi)容、則需要禁止輸入、防止它被修改、
如果沒有顯示內(nèi)容、則將EditText設(shè)置為可輸入狀態(tài)
經(jīng)過測試驗(yàn)證:setFocusable方法的效果只有第一次使用時(shí)有效、也就是說若在布局文件里面設(shè)置:
android:focusable="false"
即使你在代碼中設(shè)置此控件屬性:editText.setFocusable(true);
也不能對它進(jìn)行編輯、即setFocusable方案不可行、經(jīng)過摸索得出可行方案利用setInputType來實(shí)現(xiàn)、代碼如下
editText.setInputType(InputType.TYPE_NULL);//來禁止手機(jī)軟鍵盤 editText.setInputType(InputType.TYPE_CLASS_TEXT);//來開啟軟鍵盤
應(yīng)用程序默認(rèn)為開啟狀態(tài)、特別注意:這種方法也只能禁止軟鍵盤、若手機(jī)自帶硬鍵盤、此方案失效
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; } } }); } }
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
- android同時(shí)控制EditText輸入字符個(gè)數(shù)和禁止特殊字符輸入的方法
- 全面解析Android中對EditText輸入實(shí)現(xiàn)監(jiān)聽的方法
- Android文本輸入框(EditText)輸入密碼時(shí)顯示與隱藏
- Android之EditText控制禁止輸入空格和回車
- Android UI設(shè)計(jì)系列之自定義EditText實(shí)現(xiàn)帶清除功能的輸入框(3)
- Android編程實(shí)現(xiàn)實(shí)時(shí)監(jiān)聽EditText文本輸入的方法
- Android輸入框控件ClearEditText實(shí)現(xiàn)清除功能
- Android高級xml布局之輸入框EditText設(shè)計(jì)
- Android EditText限制輸入字?jǐn)?shù)的方法
- Android中多個(gè)EditText輸入效果的解決方式
相關(guān)文章
Android自定義View實(shí)現(xiàn)體重表盤詳解流程
對于安卓程序員來說,自定義view簡直不要太重要,畢竟有很多功能,譬如圓形頭像這些,用單純的原生非常難以實(shí)現(xiàn),而用自定義view,簡直分分鐘2021-11-11Android實(shí)現(xiàn)簡單的下拉刷新pulltorefresh
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)簡單的下拉刷新pulltorefresh的相關(guān)代碼,具有一定的實(shí)用性和操作價(jià)值,感興趣的小伙伴們可以參考一下2016-07-07Android SQLite數(shù)據(jù)庫增刪改查操作的使用詳解
本篇文章介紹了,在Android中SQLite數(shù)據(jù)庫增刪改查操作的使用詳解。需要的朋友參考下2013-04-04基于Android實(shí)現(xiàn)一個(gè)常用的布局吸頂效果
這篇文章給大家介紹一個(gè)布局吸頂效果,一般出現(xiàn)在內(nèi)容較長頁面還嵌套著分類頁面的情況,比如電商的詳情頁嵌套分類,在頁面滑動到tab的時(shí)候我們希望tab還能保留在頁面頂部而不被頂上去,文中有詳細(xì)的代碼示例,需要的朋友可以參考下2023-09-09Android中多個(gè)ContentProvider的初始化順序詳解
在日常Android開發(fā)中經(jīng)常會寫一些sdk來供他人或者自己調(diào)用,一般這些sdk都涉及到初始化,下面這篇文章主要給大家介紹了關(guān)于Android中多個(gè)ContentProvider的初始化順序的相關(guān)資料,需要的朋友可以參考下2022-04-04