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 来判断是否显示
一些细节需要特殊处理,以上只是思路.