Java国家代码。使第一个字符始终显示

时间:2017-05-16 10:05:38

标签: java android string

我想创建一个国家/地区代码文本字段。当用户单击文本字段时,首先预设“+”。此外,无法删除“+”。 我怎样才能实现这一目标。

3 个答案:

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

右键单击res中的drawable文件夹。然后转到New - &gt;矢量资产,然后单击图标按钮。搜索添加和查找+图像&amp;添加它。 enter image description here

然后在EditText控件中将此+图像添加为drawableStart。

 <EditText android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:drawableStart="@drawable/plus" />

您可以更改其xml文件中的+的大小或颜色(在drawable文件夹下)