没有格式的EditText

时间:2014-04-28 10:25:48

标签: java android android-edittext string-formatting copy-paste

我正在尝试将Chrome浏览器(在Android中)的密码复制到EditText中,但它始终会复制格式,包括最后两个空格。

在XML文件中。

<EditText
    android:id="@+id/signin_etPassword"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="textPassword"
    android:layout_marginBottom="5dp"
    android:padding="8dp"/>

我的密码是

RLqGQQa3

但是当我调用getText()时它返回:

 RLqGQQa3  

在开始时有空格,在结尾有两个。

仅当我从浏览器

复制密码时才会出现这些情况

3 个答案:

答案 0 :(得分:2)

试试这个..

trim()

  

从字符串的开头和结尾删除空白字符。

getText().toString().trim();

答案 1 :(得分:0)

在课堂上,请执行以下操作:

String  signin_etPassword = EditTextinput.getText().toString();

signin_etPassword= signin_etPassword.trim();

这将仅删除String开头或结尾的空格。密码中间将保留。

答案 2 :(得分:-1)

您的问题是如何在没有格式的情况下粘贴。

每次更改文本时都会删除格式,即使是粘贴也是如此。

final EditText et = (EditText) findViewById(R.id.yourEditText);
et.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
        }

        public void afterTextChanged(Editable s) {
            CharacterStyle[] toBeRemovedSpans =
                    s.getSpans(0, s.length(), MetricAffectingSpan.class);

            for (int i = 0; i < toBeRemovedSpans.length; i++)
                s.removeSpan(toBeRemovedSpans[i]);

        }

    });

改编自这个答案: Paste without rich text formatting into EditText