androidEditText不可編輯的問題
如何在java代碼中控製EditText不可編輯呢,因為EditText沒有setEditable這樣的方法,這個問題壇子裏已經有很多高手解決了,使用 InputFilter
具體如下:
- 你的EditText.setFilters(new InputFilter[] {
- new InputFilter() {
- public CharSequence filter(CharSequence source, int start,
- int end, Spanned dest, int dstart, int dend) {
- return source.length() < 1 ? dest.subSequence(dstart, dend) : "";
- }
- }
- });
(申明下,這個我是在壇子中看到的,本人測試有效) 這樣做就可以在java代碼中動態設置EditText的編輯狀態了,但這個無法解決用戶體驗的問題,軟鍵盤依然會打開,但無法輸入,但可以選擇內容。
通過這樣方式試試吧,自定義一個類繼承EditText
- package custom.widget;
- import android.content.Context;
- import android.util.AttributeSet;
- import android.view.MotionEvent;
- import android.widget.EditText;
- public class CustomEditText extends EditText {
- public CustomEditText(Context context,AttributeSet attrs) {
- super(context,attrs);
- }
- @Override
- public boolean onTouchEvent(MotionEvent event) {
- // TODO Auto-generated method stub
- return true;
- }
- }
- //然後在頁麵布局文件使用自定義的EditText
- <custom.widget.CustomEditText
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- />
最後更新:2017-04-04 07:03:42
上一篇:
SQL語句中的case when語法以及Oracle中的類似方法
下一篇:
STL之一:字符串用法詳解
magento開發 -- 深入理解Magento第三章 – 布局,塊和模板
java.lang.IllegalArgumentException: Wrong FS ...異常的解決
WebLogic中修改端口號和省略端口號的做法
賽思互動:Salesforce包括哪些產品和服務
LLVM對注釋的新增支持 @ WWDC 2013
Android Development Security - Provider Component Security
POJ1995
一個軟件開發行業中的奇葩,匯新雲!
[LeetCode]33.Search in Rotated Sorted Array
有關創建DNS服務器