开发者

Adding Focus to a spinner

开发者 https://www.devze.com 2023-03-31 13:00 出处:网络
Here i have a spinner and some text fields below the sp开发者_如何转开发inner. 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

Here i have a spinner and some text fields below the sp开发者_如何转开发inner. 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 
            }
        }


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();
        }

    });


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();
            }
        });
    }
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号