2016-08-16 1 views
0

私はEditText(inputOne)にフォーカスを設定しようとしていますが、私のコードは奇妙な動作を示しています。ボタンを押すと、inputOneがフォーカスを取得し、すべてがいいです。私がSoftKeyboardで "Enter"を押してonKeyListenerを起動すると、inputTwoはフォーカスされたままになります。どちらの場合も、 "inputOne.requestFocus"はtrueを返します。 これは私のコードです:EditText.requestFocus()はonKeyListenerで動作しません

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

} 
} 

答えて

0

は、それがすべてでは効果がありません。この

inputOne.requestFocus(); 
InputMethodManager inpuMethod = (InputMethodManager) getSystemService(G.context.INPUT_METHOD_SERVICE); 
inpuMethod.showSoftInput(inputOne, InputMethodManager.SHOW_IMPLICIT); 
+0

を試してみてください。 ボタンはまだフォーカスを切り替え、onKeyListenerはフォーカスを切り替えません – Noxicon

関連する問題