我们可以在编辑文本中拥有不可编辑的文本吗?
2022-09-02 22:00:32
我正在使用 .是否有可能有一部分文本不可编辑,其余部分可编辑?EditText
EditText
我正在使用 .是否有可能有一部分文本不可编辑,其余部分可编辑?EditText
EditText
您可以使用
editText.setFocusable(false);
或
editText.setEnabled(false);
尽管禁用 当前不会忽略来自屏幕键盘的输入(我认为这是一个错误)。EditText
根据应用程序的不同,最好使用拒绝所有更改的输入筛选器
:
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);