作者liu2007 (薯)
看板java
标题Re: [问题] Android Bundle的putIntArray()问题
时间Mon Sep 6 22:23:41 2010
※ 引述《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 的东西
於是产生错误
--
1F:→ w854105:找洪金宝来演白老大好了XD 甄:我在年轻的时候,跟白老大 09/02 19:35
2F:→ w854105:曾有另一段奇缘,这个我都记载在《叶问2》中,由於跟这个 09/02 19:36
3F:→ w854105:故事无关,因此先表过不提 09/02 19:36
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.232.61.232