您好,我确实对 Android CheckBox 有疑问 =)
我确实想做到这一点,如果我按下重置按钮,TextView 将清除其内容。此 TextView 还将内容写入文件。
如果我勾选我的复选框然后按下按钮,同样的事情会发生,但它也应该从文件中删除内容或只是删除文件。-> 消除将加载的旧会话条目。
//global
CheckBox mCheckFileDelete;
//setupWidgets() which is called by onCreate()
mCheckFileDelete = (CheckBox)findViewById(R.id.cBdeleteFile);
//onClick (View view)
if (view.getId()==R.id.btn2reset && mCheckFileDelete.isChecked())
{
mMypoints.setText(null);
mErgebnis.setText(null);
setImage(5);
mNotenHistory.setText("");
//Delete File
File f = new File(getFilesDir(), FILENAME);
f.delete();
}
else
{
mMypoints.setText(null);
mErgebnis.setText(null);
setImage(5);
mNotenHistory.setText("0");
}
希望有人能给我提示。真的有必要分配一个单独的方法来处理整个 isChecked() 事情,就像 developer.android 文章显示的那样吗?除此之外,我现在不知道如何在我的情况下实现这一点。
亲切的问候
//编辑关于一个问题 MainActivity.onClick(View view)
Button berechne = (Button) findViewById(R.id.btn1calc);
Button reset = (Button) findViewById(R.id.btn2reset);
berechne.setOnClickListener(this);
reset.setOnClickListener(this);
@Override
public void onClick(View view)
{
if (view.getId()==R.id.btn1calc)
{
//int ka_counter = 1;
double mypoints = Double.valueOf(String.valueOf(mMypoints.getText()));
String spinner_maxpoints_string = mMaxPoints_spin.getSelectedItem().toString();
double spinner_maxToDouble = Double.valueOf(String.valueOf(spinner_maxpoints_string));
double note = (6-(5*(mypoints/spinner_maxToDouble)));
double note_rounded = Math.round(note*100)/100.0;
String string_note = String.valueOf(note_rounded);
mErgebnis.setText(string_note);
if (string_note == null)
{
setImage(0);
}
else
{
if(note_rounded >= 1.0 && note_rounded <= 1.4)
{
setImage(1);
}
else
{
if (note_rounded >= 1.5 && note_rounded <= 1.9 )
{
setImage(2);
}
else
{
if (note_rounded >= 2.0 && note_rounded <= 2.5)
{
setImage(3);
}
else
{
if (note_rounded >= 2.6 && note_rounded <= 3.2)
{
setImage(4);
}
else
{
if(note_rounded >= 3.3 && note_rounded <= 4.0)
{
setImage(5);
}
else
{
if(note_rounded >= 4.1 && note_rounded <= 4.9)
{
setImage(6);
}
else
{
if(note_rounded >= 5.0 && note_rounded <= 6.0)
{
setImage(7);
}
}
}
}
}
}
}
}
//ka_counter = ka_counter +1;
//mNotenHistory.setText("KA " + ka_counter +": " + string_note + "\n" + mNotenHistory.getText().toString());
mNotenHistory.setText(string_note + "\n" + mNotenHistory.getText().toString());
try {
FileOutputStream fo = openFileOutput(FILENAME, Context.MODE_APPEND);
fo.write(string_note.getBytes());
fo.write("\n".getBytes());
fo.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
if (view.getId()==R.id.btn2reset)
{
if(mCheckFileDelete.isChecked())
{
mMypoints.setText(null);
mErgebnis.setText(null);
setImage(0);
mNotenHistory.setText("");
//Delete File
File f = new File(getFilesDir(), FILENAME);
f.delete();
}
else
{
mMypoints.setText(null);
mErgebnis.setText(null);
setImage(0);
mNotenHistory.setText("0");
}
}
}