按钮功能区如下图:
按钮功能介绍:
题目编辑:
编辑完成:第一使用本app的时候,默认是编辑状态,即自己编辑数独题目,默认输入数字为黑色。当编辑完成后,点击本按钮,这时候已填写的未填写位置字体设置为红色,黑色字体不可“直接”编辑,需用点击“清除”按钮清除。
重新编辑:设置填写数字为黑色,以区别解题状态。编辑完成后要点击“编辑完成”,进行解题。
清空:清空所有已填写数字,变成编辑状态。
重玩:清空后有已填写数字(红色),变成题目初始状态,这个按钮的作用是题目解的很乱,已无法完成,需重新开始时使用。
清除:删除某个格子内数字,可以任何时候使用。
随机题目:app内置100个数独题目,点击一次调用一个题目,直接进行解题,这个功能跟其他数独游戏一样。100道题目不可自己更新,也不可自定义增减。
代码都很简单,如下:
public void onClick(View view) {
switch (view.getId()) {
case R.id.button1://编辑完成
for (TextView textView : textViews) {
if (textView.getText().toString() == "") {
textView.setTextColor(Color.RED);
textView.setBackgroundColor(Color.YELLOW);
settextviewcolor();
save();
}
}
break;
case R.id.button2://重新编辑
for (TextView textView : textViews) {
//如果text为空或字体为红色清除text并将text设置为黑色
if (textView.getText().toString() == "" || textView.getCurrentTextColor() == 0xffff0000) {
textView.setText("");
textView.setTextColor(Color.BLACK);
settextviewcolor();
}
}
break;
case R.id.button3://清空
for (TextView textView : textViews) {
textView.setText("");//清空text
textView.setTextColor(Color.BLACK);//设置text为黑色
textView.setBackgroundColor(Color.YELLOW);
settextviewcolor();
}
save();
break;
case R.id.button4://重玩
for (TextView textView : textViews) {
if (textView.getCurrentTextColor() == 0xffff0000) {//只设置text为红色的text为空
textView.setText("");
settextviewcolor();
for (TextView linshiview : textViews) {
linshiview.setBackgroundColor(Color.YELLOW);
};
}
}
save();
break;
case R.id.button5://随机题目
//设置字体颜色为黑色
for(TextView viewn:textViews){
viewn.setTextColor(Color.BLACK);//设置显示区字体黑色
settextviewcolor();//设置候选数字字体黑色
}
String randomLine = readRandomLine(this, "1001.txt");
if (randomLine!= null) {
// 对随机读取到的这行内容进行后续处理
String[] parts = randomLine.split(",");
int m = 0;
for (String n : parts) {//读出的空值赋值给textview后不能编辑,应该是非空,原因不知道。
//这个a给textview后,再gettext()得到的值即不是""也不是null,也不是空,看不见,所以无法编辑,
//所以把每个值都转换成数字,那个看不见的值转换会出错,出错就给个""值,不出错的正常赋值。
//这是个野路子,现在还没找到其他解决办法。
try {
int num = Integer.parseInt(n);
textViews[m].setText(n);
m += 1;
} catch (NumberFormatException e) {
textViews[m].setText("");
m += 1;
}
}
}
chushihua();
save();
break;
case R.id.button6://清除
mytextview.setText("");
settextviewcolor();
for (TextView textView : textViews) {
textView.setBackgroundColor(Color.YELLOW);
}
save();
break;
}
}
基本都是基本设置,不难。