I'm trying to set the focus on an EditText (inputOne) but my code is showing odd behaviour. When I press the button, inputOne gets focus and everything is nice. If I press "Enter" on the SoftKeyboard, firing the onKeyListener, inputTwo remains focussed. In both cases "inputOne.requestFocus" returns true. This is my Code:
public class EditSeriesActivity extends Activity {
private FlashcardSeries series;
private EditText inputOne;
private EditText inputTwo;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.editseries);
Intent intent = getIntent();
series = intent.getParcelableExtra("EXTRA_MASSAGE");
TextView textView = (TextView) findViewById(R.id.nameseries);
textView.setText(series.getName());
inputOne = (EditText) findViewById(R.id.side1);
inputTwo = (EditText) findViewById(R.id.side2);
inputTwo.setOnKeyListener(new View.OnKeyListener()
{
public boolean onKey(View v, int keyCode, KeyEvent event)
{
if (event.getAction() == KeyEvent.ACTION_DOWN)
{
switch (keyCode)
{
case KeyEvent.KEYCODE_DPAD_CENTER:
case KeyEvent.KEYCODE_ENTER:
addCardToSeries(v);
break;
default:
break;
}
}
return false;
}
});
}
public void addCardToSeries(View view){
series.addFlashcard(new Flashcard(inputOne.getText().toString(), inputTwo.getText().toString()), this);
inputTwo.setText("");
inputOne.setText("");
inputOne.requestFocus();
}
}
try this