看板 AndroidDev 關於我們 聯絡資訊
A.class onCreate: { Intent intent = new Intent("test1");//會跳到B.class Bundle bundle = new Bundle(); bundle.putString("toB", "toB"); intent.putExtras(bundle); startActivityForResult(intent, 1); } protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); switch (requestCode) { case 1: if (resultCode == RESULT_OK) { String returnValue = data.getExtras().getString("toA"); Log.e("onActivitiyResult", returnValue); } break; default: } } ----------------------------------------------------------------------------- B.class public void onBackPressed() { super.onBackPressed(); Intent intent = getIntent(); Bundle bundle = intent.getExtras(); Log.e("Act2", ""+bundle.getString("toB")); bundle.putString("toA","toA"); intent.putExtras(bundle); setResult(RESULT_OK, intent); finish(); } 我如果把這個fun寫在B.class的onCreate,A.class的onActivityResult就找得到 但寫在onBackPressed()就無法 但我希望使用者從A跳到B時,若按了Back鍵可以回傳值,應該要寫在這沒錯吧? 請問是哪個地方出問題了呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.228.150.131 ※ 文章網址: http://www.ptt.cc/bbs/AndroidDev/M.1420602621.A.DEA.html
c910335: 去掉super.onBackPressed(); 01/07 12:16
kdok123: 真的欸!(這句快變我的口頭禪了) 01/07 13:19
kdok123: 另外把super.onBackPressed()放在最後面也可 01/07 13:20
ssccg: 原本的back處理是 回復actionbar > pop fragment > 關activ 01/07 14:01
ssccg: ity,如果自訂的流程就是要finish,那再呼叫super的沒意義. 01/07 14:02