Sam*_*562 18 java android android-edittext
我正在使用EditText.是否可以将文本的一部分编辑为不可编辑,其余部分可编辑EditText?
Jos*_*ger 16
你可以用
editText.setFocusable(false);Run Code Online (Sandbox Code Playgroud)
要么
editText.setEnabled(false);Run Code Online (Sandbox Code Playgroud)
虽然禁用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) : "";
}
}
});Run Code Online (Sandbox Code Playgroud)
另见这个问题.
您可以实现一个 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) {}
}
Run Code Online (Sandbox Code Playgroud)
TextChangedListener tcl = new TextChangedListener();
my_editable.addTextChangedListener(tcl);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10799 次 |
| 最近记录: |