在写一个drawerlayout侧边栏的时候由于要设置很多单选状态的自定义button,所以我写了两个数组进行判断,这时候
private int[] idArrays= new int[]{R.id.sb_cash,R.id.sb_card,R.id.sb_creditcard,R.id.sb_ricecad,R.id.sb_youhui};
private StatusButton[] sbArrayssbArrays = new StatusButton[]{sbCash,sbCard,sbCreditcard,sbRicecad,sbYouhui};
用的时候:
private void setStateEntry(StatusButton button) {
int length = idArrays.length;
for (int i=0;i<length;i++){
if (button == sbArrays[i]){
sbArrays[i].setSelected(true);
}else {
sbArrays[i].setSelected(false);
}
}
}
我在外面直接这样定义的,然而运行的时候报错,最后我发现可能初始化的时候需要放在里面进行初始化,直接写在外部可能不行,所以我就在initdate中进行初始化,外部只是定义一个变量,不具体赋值,最后可以了.