18

を使用していEditTextます。テキストの一部を編集不可にして残りを編集可能にすることはできEditTextますか?

4

2 に答える 2

16

あなたが使用することができます

editText.setFocusable(false);

また

editText.setEnabled(false);

を無効にEditTextしても、現在、スクリーン キーボードからの入力は無視されません (これはバグだと思います)。

InputFilterアプリケーションによっては、すべての変更を拒否するを使用する方がよい場合があります。

editText.setFilters(new InputFilter[] {
    new InputFilter() {
        public CharSequence filter(CharSequence src, int start,
            int end, Spanned dst, int dstart, int dend) {
            return src.length() < 1 ? dst.subSequence(dstart, dend) : "";
        }
    }
});

この質問も参照してください。

于 2009-05-26T15:19:18.650 に答える
2

テキストのこれらの部分が取得されないようにする TextChangedListener を実装できますdeleted/overwritten

class TextChangedListener implements TextWatcher {
    public void afterTextChanged(Editable s) {
                makeSureNothingIsDeleted();
    }

    public void beforeTextChanged(CharSequence s, int start, int count, int after) {}

    public void onTextChanged(CharSequence s, int start, int before, int count) {}
}

    TextChangedListener tcl = new TextChangedListener();
    my_editable.addTextChangedListener(tcl);
于 2009-05-26T12:17:40.920 に答える