edittext 自动跳转到下一个 返回上一个
来源:互联网 发布:2015 库里对火箭 数据 编辑:程序博客网 时间:2024/04/28 21:28
public class EditTextMoreUtils { private List<EditText> editTextList = new ArrayList<>(); public EditTextMoreUtils(EditText et1, EditText et2, EditText... ets) { add(et1, et2, ets); } public String getText() { StringBuffer result = new StringBuffer(); for (EditText editText : editTextList) { result.append(editText.getText().toString()); } return result.toString(); } private void add(EditText et1, EditText et2, EditText... ets) { editTextList.add(et1); editTextList.add(et2); editTextList.addAll(Arrays.asList(ets)); for (int i = 0; i < editTextList.size(); i++) { if (i == 0) { editTextList.get(i).addTextChangedListener(new NextFocusTextWatcher( editTextList.get(i), null, editTextList.get(i + 1))); } else if (i < editTextList.size() - 1) { editTextList.get(i).addTextChangedListener(new NextFocusTextWatcher( editTextList.get(i), editTextList.get(i - 1), editTextList.get(i + 1))); } else if (i == editTextList.size() - 1) { editTextList.get(i).addTextChangedListener(new NextFocusTextWatcher( editTextList.get(i), editTextList.get(i - 1), null)); } } } public class NextFocusTextWatcher implements TextWatcher { private EditText mEt; private EditText et_l; private EditText et_n; private int maxLength = 1; public void setEtn(EditText et_n) { this.et_n = et_n; } public NextFocusTextWatcher(EditText et, EditText etl, EditText etn) { this.mEt = et; this.et_l = etl; this.et_n = etn; mEt.setSelection(mEt.getText().length()); this.mEt.setOnKeyListener(new OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { switch (event.getAction()) { case KeyEvent.ACTION_DOWN: if (keyCode == 67 && mEt.getText().length() == 0 && null != et_l) { et_l.setText(""); et_l.requestFocus(); } break; } return false; } }); } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { if (s.length() == maxLength && null != et_n) { et_n.requestFocus(); } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void afterTextChanged(Editable s) { } }}
0 0
- edittext 自动跳转到下一个 返回上一个
- Android EditText 输入回车符自动跳转至下一个EditText
- EditText 点击“下一个”跳转到指定的EditText
- Android 中获取EditText控件的焦点以及监听他的内容让焦点自动跳转到下一个EditText控件
- iOS storyboard push到下一个界面后怎么再从下一个界面返回上一个界面
- 按回车键自动跳转到下一个文本框
- EditText 将回车的按钮显示为“下一个” 并且点击“下一个”跳转到指定的EditText
- Android Activity之间的数据返回——下一个Activity返回到上一个Activity
- 跳转到上一个页面
- Emacs Lisp编写类似vim中跳转到上一个空行和下一个空行的功能
- 返回到上一个页面
- 返回到上一个Activity
- Android EditText 点击“下一个”跳转到指定的EditText 和inputType 参数类型说明
- 从一个界面自动跳转到下一个界面
- android返回到上一个Activity
- html 返回到上一个页面
- 可用Handler实现自动跳转到下一个Activity,例如欢迎界面跳转到主界面
- iOS跳转到指定页面,而不是简单的返回上一个页面
- 对于MyBatis的初解
- 修改Eclipse中web项目的访问路劲
- android 平板的action bar、status bar、navigation bar的高度
- 试用vSphere 6(四):配置数据中心(添加ESXi主机、新建数据中心\集群等)
- R语言基础指令和并行算法初识(上篇)
- edittext 自动跳转到下一个 返回上一个
- 一步步告诉你stm32开发环境搭建流程
- t.indexOf('e') != -1在java中怎么解释?
- shell脚本入门
- 芒果iOS开发之Unable to add a source with url `https://github.com/CocoaPods/Specs.git` named `master`.
- c++builder调用vc的dll
- Eclipse rap 开发经验总结
- hdoj 字串数 1261 (排列组合&大数乘除法)好题
- 沉浸式布局