做一个请求关注以编程方式创建的编辑文本
Do a request Focus on edittexts created programaticcaly
我根据用户给定的值创建了一些带有哈希图的编辑文本。我无法在 xml 中执行此操作,因为它们之前不存在。
for (i = 0; i < n; i++) {
layoutValueClassic.addView(edittextStatsList.get(i));
edittextStatsList.get(i).setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_SIGNED);
edittextStatsList.get(i).setGravity(Gravity.CENTER);
edittextStatsList.get(i).setEms(2);
edittextStatsList.get(i).setTextColor(Color.parseColor("#ffffff"));
edittextStatsList.get(i).setBackgroundResource(R.drawable.edit_value);
//FOCUS SUR L'EDITTEXT SUIVANT SAUF SI C'EST LE DERNIER
edittextStatsList.get(i).setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_NEXT && i < n - 1) {
edittextStatsList.get(i + 1).requestFocus();
return true;
}
return false;
}
});
}
如您所见,我在下一个 (i+1) 上为每个 edittext 放置了一个 requestfocus。但它不起作用。当我在 edittext 中时我不能做 "next",我可以做 "OK" 并且焦点消失。
有什么想法吗?
为循环中的每个 edittext
设置 IME OPTIONS
for (i = 0; i < n; i++) {
...
edittextStatsList.get(i).setImeOptions(EditorInfo.IME_ACTION_NEXT);
....
}
我根据用户给定的值创建了一些带有哈希图的编辑文本。我无法在 xml 中执行此操作,因为它们之前不存在。
for (i = 0; i < n; i++) {
layoutValueClassic.addView(edittextStatsList.get(i));
edittextStatsList.get(i).setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_SIGNED);
edittextStatsList.get(i).setGravity(Gravity.CENTER);
edittextStatsList.get(i).setEms(2);
edittextStatsList.get(i).setTextColor(Color.parseColor("#ffffff"));
edittextStatsList.get(i).setBackgroundResource(R.drawable.edit_value);
//FOCUS SUR L'EDITTEXT SUIVANT SAUF SI C'EST LE DERNIER
edittextStatsList.get(i).setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_NEXT && i < n - 1) {
edittextStatsList.get(i + 1).requestFocus();
return true;
}
return false;
}
});
}
如您所见,我在下一个 (i+1) 上为每个 edittext 放置了一个 requestfocus。但它不起作用。当我在 edittext 中时我不能做 "next",我可以做 "OK" 并且焦点消失。
有什么想法吗?
为循环中的每个 edittext
设置 IME OPTIONS
for (i = 0; i < n; i++) {
...
edittextStatsList.get(i).setImeOptions(EditorInfo.IME_ACTION_NEXT);
....
}