你好我有一個關於Android的複選框問題=)鍵和鍵+複選框
我確實想做到,如果我按下復位按鈕,一個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(查看視圖)
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");
}
}
}
我不明白這個問題。什麼是/沒有處理你的代碼?如果通過「是否真的有必要設計一個獨立的方法來處理整個isChecked()...」,那麼你的意思是'checkChagedListener',那麼不需要。只有在'CheckBox'的狀態發生變化時才需要發生某種情況 – codeMagic