さて、ダイアログ内にカスタムビューがありますが、そのonKeyDownが呼び出されることはありません。onKeyPreImeも試しましたが、機能せず、ダイアログのsetCancelableをtrueに設定しても効果がありませんでした。
編集 :
//Removed all unnecessary code
public class CustomView extends LinearLayout
{
@Override
public boolean onKeyDown (int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0)
{
//do stuff here
return true;
}
return super.onKeyDown(keyCode, event);
}
}
public class CustomDialog
{
Dialog dialog;
public class CustomDialog(Context context)
{
dialog = new Dialog(context);
dialog.setContentView(R.layout.test);// the test.xml has CustomView
}
}