我有後退按鈕的問題。他不工作。當我從第一個活動到第二個,從第二個到第三個後退按鈕不想工作。我用:Android和後退按鈕
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
moveTaskToBack(true);
Log.v("Co1s", "Cos1");
return true;
}
return super.onKeyDown(keyCode, event);
}
但是,當我按下按鈕我得到的只有:
10月5日至23日:45:57.863:W/KeyCharacterMap(238):無法打開keycharmap文件 05 -23 10:45:57.863:W/KeyCharacterMap(238):加載keycharmap 文件'/system/usr/keychars/pm8058-keypad.kcm.bin'時出錯。 hw.keyboards.0.devname = 'pm8058小鍵盤' 10月5日至23日:45:57.863: W/KeyCharacterMap(238):使用默認鍵盤映射: /system/usr/keychars/qwerty.kcm.bin
此功能中的此日誌未顯示在日誌中。爲什麼?
編輯: acrivity NR1:
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.services_description);
back_button = (Button) findViewById(R.id.service_back_button);
back_button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
intent = new Intent(services_description.this, service.class);
TabActivityGroup parentActivity = (TabActivityGroup)getParent();
parentActivity.startChildActivity("menu_activity", intent);
finish();
}
});
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
Log.v("Co1s", "Cos1");
}
return super.onKeyDown(keyCode, event);
}
和第二:
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.service);
title = (TextView) findViewById(R.id.serviceTitle);
description = (TextView) findViewById(R.id.serviceDescription);
nextPage = (ImageView) findViewById(R.id.serviceNextPage);
back_button = (Button) findViewById(R.id.service_back_button);
nextPage.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
intent = new Intent(service.this, services_description.class);
TabActivityGroup parentActivity = (TabActivityGroup)getParent();
parentActivity.startChildActivity("menu_activity", intent);
}
});
back_button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
finish();
}
});
}
@Override
public void onBackPressed() {
Log.v("Cos", "Cos");
finish();
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
moveTaskToBack(true);
Log.v("Co1s", "Cos1");
return true;
}
return super.onKeyDown(keyCode, event);
}
在你的兩個哪個是後退按鈕不工作?如果你的第一個活動你都附加一個'onClick'監聽器到後退按鈕,並且同時你重寫'onKeyDown'。在你的第二個活動中,你重寫'onBackPressed'和'onKeyDown'。這一切似乎都有些魚腥味......似乎你不知道自己正在做什麼而做了很多不同的事情,所以我的建議是:刪除所有「絨毛」,並以一個儘可能簡單的例子開始。獲取後退按鈕,然後開始添加一個事件處理程序以使日誌工作正常。 – Nailuj