我想创建一个国家/地区代码文本字段。当用户单击文本字段时,首先预设“+”。此外,无法删除“+”。 我怎样才能实现这一目标。
答案 0 :(得分:0)
您可以使用EditText并将提示属性设置为“+”。
<EditText
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="+" />
答案 1 :(得分:0)
使用OnFocusChangeListener()设置&#34; +&#34;的可见性删除行为的字符和TextWatcher():
final EditText edt = (EditText) findViewById(R.id.editText);
edt.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (edt.length() == 0 && edt.hasFocus()) {
edt.setText("+");
edt.setSelection(1);
}
}
@Override
public void afterTextChanged(Editable s) {
}
});
edt.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
if (edt.getText().length() == 0) {
edt.setText("+");
}
} else {
if(edt.getText().toString().length() == 1) {
edt.setText("");
}
}
}
});
答案 2 :(得分:-1)