1首先布局选用GridView , 定义灯的对象 class Light {int number; boolean isLight; }
通过刷新gridView的适配的的数据来控制等的开关(adapter.notifiDatechang() 开关根据isLight控制 ) .
2算出按一次哪些灯的开关需要改变 规律:次数的倍数 定义次数为 int count; 可以遍历这五十个灯%count == 0的是符合条件的
List<Light> Lights = new List<Light>(); //总灯数 应该添加50 个灯number对应的1-50 代码就不写了
void changState(int count){ //按第n次需要改变的灯 只是当前这次不是累加
for(int i = 0;i< Lights.size();i++){
Light light = Lights.get(i);
int number = light.getNumber();
if(number % count == 0){
light.setIsLight(!light.getIsLight());
}
}
}
void getCountState(){ //按49次需要改变的
for(int i = 0 ;i< 49;i++){
changState(i);
}
}
3 通过getCountState() 方法后,Lights就是正确状态的bean,通过适配器的adapter 刷新下 就ok了 适配器需要根据字段 isLight 来判断是否显示
一些细节需要特殊处理,以上只是思路.