goddade 2016-11-22 01:44 采纳率: 0%
浏览 1449

Android数组初始化出错

一个输入法程序,想要添加一些自定义按键,但是初始化数组的时候一直出问题。

 public class FullKeyboard extends Keyboard {
...
//数组初始化:
private Key[] mCustomKey = new Key[10]; 
...
protected Key createKeyFromXml(Resources res, Row parent, int x, int y,
                               XmlResourceParser parser) {
...
    }else if(key.codes[0]<= KEYCODE_CUSTOM0 && key.codes[0]>= KEYCODE_CUSTOM9){
//在这里赋值,报错Attempt to write to null array。
        mCustomKey[KEYCODE_CUSTOM0- key.codes[0]]= key;
    }
}

然后改为:

 public class FullKeyboard extends Keyboard {
...
private Key[] mCustomKey; 
...
protected Key createKeyFromXml(Resources res, Row parent, int x, int y,
                               XmlResourceParser parser) {
//数组初始化:
    mCustomKey = new Key[10]; 
...
    }else if(key.codes[0]<= KEYCODE_CUSTOM0 && key.codes[0]>= KEYCODE_CUSTOM9){
        mCustomKey[KEYCODE_CUSTOM0- key.codes[0]]= key;
    }
}

不报错,logcat也没问题,但是后面别的方法里使用mCustomKey时,里面除了mCustomKey[9]其他全是null

  • 写回答

2条回答 默认 最新

  • xwpeng_pl 2016-11-22 07:54
    关注

    第一个报错建议你在createKeyFromXml中debug下,这里看不出什么.
    第二个全为null是正常情况,new key[10]等价于new key[]{null,.....null}.

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器