[問題] activity 傳值

看板AndroidDev作者 (ya da)時間13年前 (2012/07/23 02:19), 編輯推噓3(3011)
留言14則, 3人參與, 最新討論串1/1
現在總共有三個java檔,主檔案按下按鈕後,會呼叫第二個java檔, 在第二個java檔中,需要第三個java檔傳值來用 在網路上看到了 Intent , bundle的傳值方法,但是好像要在有 onCreate()中才能接值 Bundle bunde = this.getIntent().getExtras(); 因為我第二個java檔裡頭是 Preview(Context context) { super(context); surfaceHolder = getHolder(); surfaceHolder.addCallback(this); surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); } 所以無法接值 第三個檔案傳值得寫法是 Intent intent = new Intent(); intent.setClass(LatitudeAndLongitude.this, Preview.class); Bundle bundle = new Bundle(); bundle.putDouble("longitude", longitude); intent.putExtras(bundle); startActivity(intent); 請問該如何解決,在不同的activity中傳接值,但是又不需要按按鈕後才取得 希望我的解釋大大們能看得懂,裡頭可能有觀念錯誤,請見諒 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.0.214.189

07/23 03:39, , 1F
你的preview是Activity還是surface view阿......
07/23 03:39, 1F

07/23 03:39, , 2F
是Activity的話就把東西寫在onCreate就好啦
07/23 03:39, 2F

07/23 03:40, , 3F
是View的話你怎麼能用intent用他
07/23 03:40, 3F

07/23 03:56, , 4F
而且抓bundle不用在onCreate裡也能抓
07/23 03:56, 4F

07/23 22:44, , 5F
喔喔 是surface view 第三個java檔是 class
07/23 22:44, 5F

07/23 22:44, , 6F
請問大大怎麼抓 bundle 不在 onCreate
07/23 22:44, 6F

07/23 23:23, , 7F
Bundle bundle = this.getIntent().getExtras(); 這行
07/23 23:23, 7F

07/23 23:23, , 8F
加入之後 getIntent()會有問題
07/23 23:23, 8F

07/24 00:31, , 9F
第二個java檔 有繼承activity嗎?
07/24 00:31, 9F

07/24 01:31, , 10F
沒有 class Preview extends SurfaceView implements
07/24 01:31, 10F

07/24 01:32, , 11F
SurfaceHolder.Callback
07/24 01:32, 11F

07/24 10:24, , 12F
你的preview明明就不是Activity,怎麼能用Intent叫他
07/24 10:24, 12F

07/24 10:25, , 13F
應該是要用intent叫另一個Activity,然後這個Activity
07/24 10:25, 13F

07/24 10:25, , 14F
裡面才擺SurfaceView
07/24 10:25, 14F
文章代碼(AID): #1G34GKv4 (AndroidDev)