我们可以在edittext中使用不可编辑的文本吗?

我正在使用EditText 。 是否有可能有一部分文本不可编辑,其余的可编辑在同一个EditText

Solutions Collecting From Web of "我们可以在edittext中使用不可编辑的文本吗?"

你可以使用

 editText.setFocusable(false); 

要么

 editText.setEnabled(false); 

虽然禁用EditText当前不会忽略来自屏幕键盘的input(我认为这是一个错误)。

根据应用程序,使用拒绝所有更改的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) : ""; } } }); 

也看到这个问题。

你可以实现一个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);