将焦点添加到微调器

发布于 2024-12-01 20:15:40 字数 340 浏览 0 评论 0原文

这里我有一个微调器和微调器下方的一些文本字段。当其中一个文本字段具有焦点时,我从微调器中选择一个项目,我看到焦点仍然在该文本字段上,现在我想做的是,在选定的微调器项目上,我想将焦点从该文本字段更改为微调器。 有什么方法可以将焦点设置为旋转器吗?比如,

    @Override
    public void onItemSelected(AdapterView<?> parent, View view,
            int position, long id) {
        //set focus to the spinner 
            }
        }

Here i have a spinner and some text fields below the spinner. when one of the text field has focus, i select an item from spinner and i see the focus is still on that text field, Now what i want to do is, on spinner item selected i want to change focus from that text field to the spinner.
Is there any way to set focus to spinner?like,

    @Override
    public void onItemSelected(AdapterView<?> parent, View view,
            int position, long id) {
        //set focus to the spinner 
            }
        }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

千紇 2024-12-08 20:15:40

我遇到了类似的问题,并在此处找到了部分答案。

但是,我还必须从代码而不是 XML 文件中设置 focusable(true) 和 focusableInTouchMode(true)。在我在代码中设置可聚焦属性之前,我无法让它工作。这是我的项目的示例:

spinUoM.setFocusable(true);
spinUoM.setFocusableInTouchMode(true);

spinUoM.setOnFocusChangeListener(new OnFocusChangeListener() {

        @Override
        public void onFocusChange(View v, boolean hasFocus) {
            if(hasFocus)
                DialogDefineRecipeActivity.this.spinUoM.performClick();
        }

    });

I had a similar problem and found part of the answer here.

However, I also had to set focusable(true) and focusableInTouchMode(true) from my code and not the XML file. I couldn't get it to work until I set the focusable properties in the code. Here is a sample from my project:

spinUoM.setFocusable(true);
spinUoM.setFocusableInTouchMode(true);

spinUoM.setOnFocusChangeListener(new OnFocusChangeListener() {

        @Override
        public void onFocusChange(View v, boolean hasFocus) {
            if(hasFocus)
                DialogDefineRecipeActivity.this.spinUoM.performClick();
        }

    });
后来的我们 2024-12-08 20:15:40

在我的案例中工作

    @Override
     public void onItemSelected(final AdapterView<?> parent, View view,
            final int position, long id) {

        parent.post(new Runnable() {
            @Override
            public void run() {
                spinner.requestFocusFromTouch();
            }
        });
    }

worked in my case doing

    @Override
     public void onItemSelected(final AdapterView<?> parent, View view,
            final int position, long id) {

        parent.post(new Runnable() {
            @Override
            public void run() {
                spinner.requestFocusFromTouch();
            }
        });
    }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文