У меня проблема с кнопкой возврата. Он не работает. Когда я перехожу от первого занятия к второму и от второй до третьей кнопки назад, вы не хотите работать. Я использовал:Кнопка 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);
}
Но когда я нажимаю на кнопку Я получаю только:
05-23 10: 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-клавиатура' 05-23 10: 45: 57,863: Вт/KeyCharacterMap (238): Использование по умолчанию раскладки клавиатуры: /system/usr/keychars/qwerty.kcm.bin
И этот вход в эту функцию не отображается в журналах. Зачем?
Edit: 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