大佬教程收集整理的这篇文章主要介绍了Android如何在单击退格时关注另一个edittext,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
逻辑很简单,当用户输入编辑文本的数字时,它会失去焦点,然后编辑文本会变得焦点,然后它会变成这样.但问题是当我点击后退空间我想在edittext之前返回再次输入数字.我试图在beforeTextChange中插入keyListener,但它没有工作.
private void SetTextChange(final EditText etCurrent,final EditText etForWARD,final EditText etBACk,final Boolean isLast,final int currentPosition) { etCurrent.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s,int start,int count,int after) { } @Override public void ontextChanged(CharSequence s,int before,int count) { if (etCurrent.getText().length() == 1 && !isLast ) { etCurrent.setTypeface(null,Typeface.NORMAL); etCurrent.clearFocus(); etForWARD.requestFocus(); etForWARD.setcursorVisible(true); etCurrent.getBACkground().setColorFilter(getresources().getColor(R.color.lavender_indigo),PorterDuff.Mode.SRC_ATOp); } else if (etCurrent.length() == 0) { etCurrent.getBACkground().setColorFilter(getresources().getColor(R.color.french_gray),PorterDuff.Mode.SRC_ATOp); etCurrent.setTypeface(null,Typeface.SANS_SERIF.getStyle()); etCurrent.setTypeface(null,Typeface.NORMAL); etCurrent.clearFocus(); etBACk.requestFocus(); etBACk.setcursorVisible(true); } if (etCurrent.length() != 0) { Integer currentKey = Integer.parseInt(etCurrent.getText().toString()); keyList.set(currentPosition,currentKey); } else keyList.set(currentPosition,-1); if (keyList.size() > 3) showToast(keyList.get(0) + " " + keyList.get(1) + " " + keyList.get(2) + " " + keyList.get(3)); } @Override public void afterTextChanged(Editable s) { } }); /*curText.setOnFocuschangelistener(new View.onFocuschangelistener() { public void onFocusChange(View arg0,Boolean arg1) { curText = etCurrent; BACkText = etBACk; curText.setText(""); } });*/ }
这也是我的EditText示例xml之一.(其他都是一样的)
<EditText android:layout_column="1" android:layout_columnWeight="1" android:id="@+id/etActivationDigit1" android:layout_width="70dp" android:layout_height="wrap_content" android:textSize="80dp" android:textAlignment="center" android:gravity="center_horizontal" android:hint="*" android:textColorHint="@color/french_gray" android:BACkgroundTint="@color/french_gray" android:fontFamily="sans-serif" android:textColor="@color/perfume" android:maxLength="1" android:inputType="number" />
当用户输入错误的号码时,我只想擦除并重新聚焦.注意:当你填写所有字段时,你会看到你可以删除并返回,但我想回到密码的中间位置.谢谢.
etCurrent.setOnKeyListener(new View.onKeyListener() { @Override public Boolean onKey(View v,int keyCode,KeyEvent event) { if(etCurrent.getText().toString() == "" && keyCode == event.KEYCODE_DEL) { etCurrent.setText(""); etCurrent.clearFocus(); etBACk.requestFocus(); etBACk.setText(""); } return false; } });
当我触摸退格键时,我的BACkspace侦听器不会触发,但会触发所有其他字符.
@H_404_4@
private void setupInputListeners() { verificationCode1EditText.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s,int count) { if (s.length() == 1) { verificationCode2EditText.requestFocus(View.FOCUS_DOWN); } } @Override public void afterTextChanged(Editable s) { } }); verificationCode2EditText.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s,int count) { if(count == 0) { verificationCode1EditText.requestFocus(View.FOCUS_DOWN); } else { if (s.length() == 1) { verificationCode3EditText.requestFocus(View.FOCUS_DOWN); } } } @Override public void afterTextChanged(Editable s) { } }); verificationCode3EditText.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s,int count) { if(count == 0) { verificationCode2EditText.requestFocus(View.FOCUS_DOWN); } else { if (s.length() == 1) { verificationCode4EditText.requestFocus(View.FOCUS_DOWN); } } } @Override public void afterTextChanged(Editable s) { } }); verificationCode4EditText.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s,int count) { if(count == 0) { verificationCode3EditText.requestFocus(View.FOCUS_DOWN); } } @Override public void afterTextChanged(Editable s) { } }); }@H_404_4@ @H_404_4@
以上是大佬教程为你收集整理的Android如何在单击退格时关注另一个edittext全部内容,希望文章能够帮你解决Android如何在单击退格时关注另一个edittext所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。