android小部件-自动关注数字密码输入的下一个edittext



从我的应用程序中,我希望能像在IPhone上实现的那样,用四位数字输入密码,也就是用屏蔽点。我已经完成了正确的输入。然而,使用addTextChangedListener中TextWatcher的具体实现,当我输入了4个错误的数字,焦点返回到第一个数字,并且每个数字都被清除。在这种情况下,用于数字输入的原始软键盘切换回qwert键盘,输入的任何字母或数字都变得可见,而无需用点进行屏蔽。

myEditText1.addTextChangedListener(new MyTextWatcher(mPasswordEditText){
       @Override
        public void afterTextChanged(Editable arg0) {
        }
        @Override
        public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
        }
        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            s = mPasswordEditText.getText();
            int cacheH = UnlockScreen.this.mPasswordEditText.getHeight();
            if(s.length() == 1){
                UnlockScreen.this.mPasswordEditText1.requestFocus();
                    mPasswordEditText.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);
                    mPasswordEditText.setTransformationMethod(PasswordTransformationMethod.getInstance());
                    mPasswordEditText.setMinHeight(cacheH);
            }                   
        }
}); 

但它并没有像预期的那样运作良好。XML布局为:

           <EditText
                    android:id="@+id/unlock_screen_password_edittext_1"
                    style="@style/passcodeStyle"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight=".20"
                    android:layout_marginRight="10dip"
                    android:digits="@string/digits_only"
                    android:gravity="center"
                    android:inputType="number"
                    android:password="true"
                    android:maxLength="1"/>

大家知道吗?

我使用的是setText(s.toString().replace(s.toString(),'.'));而不是mPasswordEditText.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);和mPasswordEditText.setTransformationMethod(PasswordTransformationMethod.getInstance());并在每个edittext中设置textChange状态的标志。我不确定这是最好的解决方案,但对于我的应用程序来说,这很好,到目前为止,我还不知道有更好的方法。

最新更新