画面からキーボードを削除するイベントをキャッチしようとしていますが、次のコードを使用しています:
searchTextField.setOnEditorActionListener(new OnEditorActionListener()
{
public boolean onEditorAction(TextView v, int actionId, KeyEvent event)
{
System.out.println("ACTION ID " + actionId);
if(actionId == EditorInfo.IME_ACTION_DONE)
{
System.out.println("ACTION DONE!!!!!!!!!!");
return true;
}
return false;
}
searchTextField.setOnFocusChangeListener( new View.OnFocusChangeListener()
{
public void onFocusChange(View v, boolean hasFocus)
{
if (hasFocus)
System.out.println("HAS FOCUS");
else
System.out.println("FOCUS LOST");
}
});
しかし、残念ながらうまくいきません。onEditorAction
編集を開始しても終了しても、電話をかけたことはありません。メソッドに関してonFocusChange
は、キーボードが上がったときに初めて呼び出されます。キーボードが下がったとき、または 2 回目に上がったときは呼び出されません。誰が私が間違っているのか説明できますか?