こんにちは、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");
}
誰かが私にヒントをくれることを願っています。developer.android の記事が示すように、 isChecked() 全体を処理するために別のメソッドを割り当てることが本当に必要ですか? それに加えて、私の場合、これを実装する方法はわかりません。
敬具
//質問に関する編集 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");
}
}
}