公共类MyTab扩展了TabActivity;
public class SubTab扩展了TabActivity;
MyTab中定义了2个标签:
- setContent(new Intent(this,SubTab.class))
- setContent(R.id.view1)
醇>
然后在MyTab中编写一个方法:
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
Log.i("MyTab Back", "In MyTab ");
return true;
}
return super.onKeyDown(keyCode, event);
}
和SubTab中的方法,只需更改为Log.i(“SubTab Back”,“In SubTab”)。
问题: 在SubTab中按Back键,Logcat中仅显示“In SubTab”。
删除SubTab中的方法,然后按Back键,Logcat中不显示任何内容。
在另一个标签页(不是活动)中按Back键,Logcat中只显示“In MyTab”。
现在,我想在MyTab中编写一个监听Back Keydown的方法,因为在另一个项目中,mainTab有超过3个subtabActivity。
答案 0 :(得分:2)
尝试以下方法:
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
Log.i("MyTab Back", "In MyTab ");
}
return super.dispatchKeyEvent(event);
}
答案 1 :(得分:1)
试试这个:
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
Log.i("MyTab Back", "In MyTab ");
return true;
}
return false;
}