【问题标题】:Do a request Focus on edittexts created programaticcaly对以编程方式创建的 edittext 执行 requestFocus
【发布时间】:2016-05-11 07:01:45
【问题描述】:

我根据用户给定的值创建了一些带有哈希图的编辑文本。我不能在 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中我不能做“下一步”,我可以做“确定”然后焦点消失。

有什么想法吗?

【问题讨论】:

    标签: java android android-edittext focus


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2013-02-08
      • 2021-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-10
      • 2016-10-10
      • 2011-01-16
      相关资源
      最近更新 更多