我想在手机号码的edittext中添加国家/地区代码等预填充文字。预填充文本应该是不可编辑的。我通过重写onSelectionChanged()来尝试它。有没有更好的解决方案?
a_SQk8wb8__3__491
答案 0 :(得分:0)
这是你想要的吗?
editText.setText("This is a prefilled text"); // This to set prefilled text
editText.setFocusable(false); // This disable editing
OR
editText.setHint("This is sample country code"); // this is the hint
提示是这样的:
答案 1 :(得分:0)
试试这个
final EditText editText = new EditText(this){
int prevSelection;
@Override
protected void onSelectionChanged(int selStart, int selEnd) {
if (!editText.getText().toString().startsWith("pre filled text")){
editText.setText("pre filled text" + editText.getText().toString());
}
}
};
该函数将检查EditText是否以“preFilled”文本开头,否则会将其添加到EditText的开头
答案 2 :(得分:0)
在包含android.text.TextWatcher
的{{1}}或Activity
中实施Fragment
。
在EditText
方法中,将国家/地区代码添加到文本的开头。
最好在添加之前检查国家/地区代码是否已填写。注意不要在这里以无限循环结束。
答案 3 :(得分:0)
尝试使用此功能:
editText.setText("country code" + editText.getText().toString());