我正在尝试将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
在开始时有空格,在结尾有两个。
仅当我从浏览器
复制密码时才会出现这些情况答案 0 :(得分:2)
答案 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]);
}
});