请求专注于edittexts创建programaticcaly

时间:2016-05-11 07:01:45

标签: java android android-edittext focus

我使用hashmap创建一些edittexts,具体取决于用户给出的值。我不能在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。但它不起作用。当我在编辑文本中时,我不能做“下一步”,我可以做“好”并且焦点消失。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

为循环中的每个IME OPTIONS设置edittext

for (i = 0; i < n; i++) {
...
edittextStatsList.get(i).setImeOptions(EditorInfo.IME_ACTION_NEXT);
....
}