今日、コードにonKeyDown()を入れたときにメニューが表示されないことに驚きました!!!
私のプロジェクトにはメニューがonCreateOptionsMenu()
ありonOptionsItemSelected()
、通常の方法でそれを設計しました。プロジェクトに問題はなく、正常に動作します。
問題は使用してonKeyDown()
います。アクティビティに入れてプロジェクトを実行すると、メニューボタンをクリックしても何も表示されません。コメントアウトするonKeyDown()
と、アプリは正常に動作します。
理由は何ですか?ありがとうございました
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
return (super.onCreateOptionsMenu(menu));
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.home:
Log.i("Menu", "Home clicked.");
return true;
case R.id.social:
Log.i("Menu", "Social Networks clicked.");
return true;
default:
return super.onOptionsItemSelected(item);
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
super.onKeyDown(keyCode, event);
if(keyCode == KeyEvent.KEYCODE_HOME){
Log.i("onKeyDown", "Home presed");
int pid = android.os.Process.myPid();
android.os.Process.killProcess(pid);
}
if(keyCode == KeyEvent.KEYCODE_BACK){
Log.i("onKeyDown", "back presed");
int pid = android.os.Process.myPid();
android.os.Process.killProcess(pid);
}
return true;
}