gpt4 book ai didi

android - 将常量文本放在 EditText 中,它应该是不可编辑的 - Android

转载 作者:行者123 更新时间:2023-11-30 04:59:04 25 4
gpt4 key购买 nike

我想在 editText 中有常量文本,例如:

http://<here_user_can_write>

用户不应该能够从“http://”中删除任何字符,我对此进行了搜索并找到了这个:

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) : "";
}
}
});

但我不知道它是否限制用户不能从开始到结束 限制中删除任何字符。我也无法理解 Spanned 类的使用。

如果我们可以在 EditText 中放置一个 TextView ,那么一种方法将是一个不错的选择,但我认为这在 Android 中是不可能的,因为两者都是 View ,是吗?可能吗?

最佳答案

你试过这个方法吗?

final EditText edt = (EditText) findViewById(R.id.editText1);

edt.setText("http://");
Selection.setSelection(edt.getText(), edt.getText().length());


edt.addTextChangedListener(new TextWatcher() {

@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub

}

@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub

}

@Override
public void afterTextChanged(Editable s) {
if(!s.toString().startsWith("http://")){
edt.setText("http://");
Selection.setSelection(edt.getText(), edt.getText().length());

}

}
});

关于android - 将常量文本放在 EditText 中,它应该是不可编辑的 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58554492/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com