[問題] Android Bundle的putIntArray()問題
最近在寫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出來
要是印出的部份改成text1.setText(status);印出來就是null
我覺得可能跟Privacy leak有關,或是int[]那邊沒new好,可是沒辦法解決
請問是那邊出了問題?還是我誤會了getIntArray()的用法?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 112.104.57.123
※ 編輯: cooper6334 來自: 112.104.57.123 (09/05 03:17)
推
09/06 21:57, , 1F
09/06 21:57, 1F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):