天天看點

androidEditText不可編輯的問題

如何在java代碼中控制edittext不可編輯呢,因為edittext沒有seteditable這樣的方法,這個問題壇子裡已經有很多高手解決了,使用 inputfilter

具體如下:

java代碼  

androidEditText不可編輯的問題

你的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

androidEditText不可編輯的問題

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"  

    />