[問題] 按了返回鍵不會返回上一頁

作者: gcobc12632 (Ted)   2017-03-31 18:58:17
使用機型是SONY C5,聽說HTC跟紅米也有出現過這樣的問題
(三星TAB S2、Nexus 6P卻完全沒發生過)
情況是:
在A Activity內點擊一個ArrayAdapter
觸發OnItemClickListener之後跳到B Activity
在B Activity按返回鍵會跳回A Activity
然後在A Activity按返回鍵就會失效了
返回鍵的code我是這樣寫:
@Override
public void onBackPressed() {
finish();
}
然後當返回鍵失效的時候,LOG裡面會顯示這幾行:
Key down dispatch to android.widget.GridView{
9933223 VFED.VC. .F....ID 24,48-1056,1347 #7f1001d6 app:id/gridView},
event = KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_BACK, scanCode=0,
metaState=0, flags=0x48, repeatCount=0, eventTime=7979073, downTime=7979073,
deviceId=-1, source=0x101 }
Key up dispatch to android.widget.GridView{
9933223 VFED.VC. .F....ID 24,48-1056,1347 #7f1001d6 app:id/gridView},
event = KeyEvent { action=ACTION_UP, keyCode=KEYCODE_BACK, scanCode=0,
metaState=0, flags=0x48, repeatCount=0, eventTime=7979160, downTime=7979073,
deviceId=-1, source=0x101 }
Tracking Key Up, activity is resumed: false
會不會是因為我在Activity裡面有寫這段的關係啊?
@Override
protected void onRestart() {
super.onRestart();
recreate();
}
作者: roy870075 (Roy)   2017-03-31 22:43:00
好奇問,為什麼要ovrride onBackPress?
作者: gcobc12632 (Ted)   2017-04-01 13:35:00
複寫返回鍵的功能不是這樣寫嗎?還是我哪裡理解錯誤了
作者: y3k (激流を制するは静水)   2017-04-01 14:11:00
你去實驗一下override onKeyDown() 我覺得onBackPress()只在focus在contentView的時候會觸發另外試著對ListView的focusable設false看看
作者: gcobc12632 (Ted)   2017-04-05 13:14:00
改寫成override onKeyDown之後就正常了 看來之後還是不要用ovrride onBackPress好了 問題一堆 感謝回應

Links booklink

Contact Us: admin [ a t ] ucptt.com