作者fake01 (ya da)
看板AndroidDev
標題[問題] activity 傳值
時間Mon Jul 23 02:18:57 2012
現在總共有三個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
1F:推 cooper6334:你的preview是Activity還是surface view阿...... 07/23 03:39
2F:→ cooper6334:是Activity的話就把東西寫在onCreate就好啦 07/23 03:39
3F:→ cooper6334:是View的話你怎麼能用intent用他 07/23 03:40
4F:→ cooper6334:而且抓bundle不用在onCreate裡也能抓 07/23 03:56
5F:→ fake01:喔喔 是surface view 第三個java檔是 class 07/23 22:44
6F:→ fake01:請問大大怎麼抓 bundle 不在 onCreate 07/23 22:44
7F:→ fake01:Bundle bundle = this.getIntent().getExtras(); 這行 07/23 23:23
8F:→ fake01:加入之後 getIntent()會有問題 07/23 23:23
9F:推 kkwinds:第二個java檔 有繼承activity嗎? 07/24 00:31
10F:→ fake01:沒有 class Preview extends SurfaceView implements 07/24 01:31
11F:→ fake01:SurfaceHolder.Callback 07/24 01:32
12F:推 cooper6334:你的preview明明就不是Activity,怎麼能用Intent叫他 07/24 10:24
13F:→ cooper6334:應該是要用intent叫另一個Activity,然後這個Activity 07/24 10:25
14F:→ cooper6334:裡面才擺SurfaceView 07/24 10:25