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