edittext中的预填充文本

时间:2015-09-23 08:24:37

标签: android android-edittext

我想在手机号码的edittext中添加国家/地区代码等预填充文字。预填充文本应该是不可编辑的。我通过重写onSelectionChanged()来尝试它。有没有更好的解决方案?

a_SQk8wb8__3__491

4 个答案:

答案 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

提示是这样的:

enter image description here

答案 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());