Re: [問題] Android Bundle的putIntArray()問題

看板java作者 (薯)時間13年前 (2010/09/06 22:23), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《cooper6334 (小恐龍)》之銘言: 連推的限制時間有點長..... : 最近在寫Android的程式,要聯絡AppWidget和Active : 我用Intent夾Bundle來傳參數,假如是夾int的話一切ok : 可是我想夾int陣列,傳到Active那邊都抓不到東西 : 程式碼片段如下 : AppWidget的部份: : //設定要夾的int陣列 : int[] status = new int[4]; : for (int i = 0; i < 4; i++) { : status[i] = i; : } : Intent configIntent = new Intent(context, PActive.class); : //設定bundle和夾int陣列 : Bundle bundle; : bundle = new Bundle(); : bundle.putIntArray("status", status); : //將bundle夾進intent中 : configIntent.putExtras(bundle); : //將intent夾進PendingIntent中 : PendingIntent configPendingIntent= PendingIntent.getActivity(context, 0, : configIntent, PendingIntent.FLAG_UPDATE_CURRENT); : Active的部份: : //從intent中取得int陣列 : int[] status=this.getIntent().getExtras().getIntArray("status"); : text1.setText(status[0]); : 這樣一點Button開啟Active,模擬器馬上就跳Sorry出來 Sorry 是什麼意思?? 例外強制停止嗎?? : 要是印出的部份改成text1.setText(status);印出來就是null : 我覺得可能跟Privacy leak有關,或是int[]那邊沒new好,可是沒辦法解決 : 請問是那邊出了問題?還是我誤會了getIntArray()的用法? 以下的猜測是以你的text1 為 TextView物件來說明 TextView 的 setText() with one parameter 的方法有兩種 1. void setText(CharSequence text) 2. void setText(int resid) 我想你應該是用了第二種 text1.setText(status[0]); 於是程式就到R.id去找 找來找去卻沒有發現 數值為 0x00000000 的東西 於是產生錯誤 --

09/02 19:35,
找洪金寶來演白老大好了XD 甄:我在年輕的時候,跟白老大
09/02 19:35

09/02 19:36,
曾有另一段奇緣,這個我都記載在《葉問2》中,由於跟這個
09/02 19:36

09/02 19:36,
故事無關,因此先表過不提
09/02 19:36
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.232.61.232
文章代碼(AID): #1CXFboM7 (java)
文章代碼(AID): #1CXFboM7 (java)