国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android實現EditText控件禁止輸入內容的方法(附測試demo)

2020-04-11 11:12:44
字體:
來源:轉載
供稿:網友

本文實例講述了Android實現EditText控件禁止輸入內容的方法。分享給大家供大家參考,具體如下:

問題:

android如何實現EditText控件禁止往里面輸入內容?

修改版解決方法:

EditText editText = (EditText) findViewById(R.id.editText1);editText.setKeyListener(null);

看到這個問題大家可能有點奇怪了,EditText的功能不就是往上面寫入內容嗎?

再者,如果真要禁止輸入文本,在布局文件中添加 android:focusable="false",

或者在代碼中使用editText.setFocusable(false),不就Ok了?

項目需求是這樣的,如果EditText上面已經被setText()內容,則需要禁止輸入,防止它被修改。

如果沒有顯示內容,則將EditText設置為可輸入狀態。

經過測試驗證:setFocusable方法的效果只有第一次使用時有效,也就是說若在布局文件里面設置:

android:focusable="false",即使你在代碼中設置此控件屬性:editText.setFocusable(true);也不能對它進行編輯。

即setFocusable方案不可行。經過摸索得出可行方案。

利用 editText.setInputType(InputType.TYPE_NULL);來禁止手機軟鍵盤。

editText.setInputType(InputType.TYPE_CLASS_TEXT);來開啟軟鍵盤。

應用程序默認為開啟狀態。

特別注意:這種方法也只能禁止軟鍵盤,若手機自帶硬鍵盤,此方案失效。

附測試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;        }      }    });  }}

希望本文所述對大家Android程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洛隆县| 莱州市| 高阳县| 友谊县| 江达县| 镇安县| 兴国县| 荥阳市| 儋州市| 石景山区| 汤原县| 前郭尔| 茶陵县| 于都县| 高州市| 台东市| 登封市| 同德县| 胶州市| 滦平县| 双牌县| 阿拉尔市| 南木林县| 安庆市| 顺昌县| 习水县| 宜兰市| 武安市| 缙云县| 塔河县| 闽侯县| 河津市| 水城县| 武威市| 盐城市| 闻喜县| 海城市| 来凤县| 潼南县| 永昌县| 特克斯县|