1
我有7個複選框,如果選中,每個複選框將根據用戶輸入(數字)計算3個edittext。如果用戶沒有選中,3 edittext setEnabled(false); 因此,我在執行保存按鈕時遇到問題,如果所有複選框都被選中,則無法保存。我只想選擇複選框可以做到保存在sqlite數據庫和計算3 ediitext。如何在android數據庫中設置保存複選框值而不檢查Android中的所有複選框?
這裏是我的代碼,
p1=(CheckBox)findViewById(R.id.cek1);
cp1=(EditText) findViewById(R.id.editcp1);
cp12=(EditText) findViewById(R.id.editcp12);
cp13=(EditText) findViewById(R.id.editcp13);
p1.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked){
palm1=longitude+","+latitude;
Toast.makeText(getBaseContext(), palm1, Toast.LENGTH_SHORT).show();
percentage();
cp1.setEnabled(true);
cp1.setFocusable(true);
cp12.setEnabled(true);
cp12.setFocusable(true);
cp13.setEnabled(true);
cp13.setFocusable(true);
String larva1 = cp1.getText().toString().trim();
String larva12 = cp12.getText().toString().trim();
String pupa1 = cp13.getText().toString().trim();
}else{
palm1="-";
Toast.makeText(getBaseContext(), palm1, Toast.LENGTH_SHORT).show();
cp1.setEnabled(false);
cp1.setFocusable(false);
cp12.setEnabled(false);
cp12.setFocusable(false);
cp13.setEnabled(false);
cp13.setFocusable(false);
} }});
這裏當執行保存按鈕
save = (Button)findViewById(R.id.btnsave);
save.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
int lv1= Integer.parseInt(larva1);
int lv12= Integer.parseInt(larva12);
int pup1= Integer.parseInt(pupa1);
int total=lv1+lv12+pup1;
String totallv1=Integer.toString(ttllv1);
upd.setpalm1(palm1);
upd.setlarva1(larva1);
upd.setlarva12(larva12);
upd.setpupa1(pupa1);
upd.settotal1(totallv1);
db.addUPD(upd);
db.close();
}});
然後MySQLiteHelper被處理:
public void addUPD(UPD upd){
Log.d("addUPD", upd.toString());
SQLiteDatabase db = this.getWritableDatabase();
values.put(KEY_PALM1, upd.getpalm1());
values.put(KEY_LARVA1, upd.getlarva1());
values.put(KEY_LARVA12, upd.getlarva12());
values.put(KEY_PUPA1, upd.getpupa1());
values.put(KEY_TTL_LARVA, upd.getttl_larva());
db.insert(TABLE_UPD, null, values);
db.close();
}
類UPD - >
public class UPD {
private String palm1;
private String larva1,larva12,pupa1,totallv1;
public String getpalm1(){
return palm1;}
public void setpalm1(String palm1) {
this.palm1 = palm1;}
public String getlarva1(){
return larva1;}
public void setlarva1(String larva1) {
this.larva1 = larva1;}
public String getlarva12(){
return larva12;}
public void setlarva12(String larva12) {
this.larva12 = larva12;}
public String getpupa1(){
return pupa1;}
public void setpupa1(String pupa1) {
this.pupa1 = pupa1;}
public String getttl_larva(){
return ttl_larva;}
public void setttl_larva(String ttl_larva) {
this.ttl_larva= ttl_larva;}
請您諮詢
對不起,姐,我不明白你的問題。你是否需要保存所有複選框狀態?或者你想只保存數據庫中選中的複選框?或者是其他東西? –
只有選定的複選框@ghostman –
我明白了。在數據庫中最好保存所有值(7行)。只需要在數據庫中保存狀態,然後用戶選中某個複選框(在此事件上添加偵聽器)並將其值保存在數據庫的偵聽器中(不在數據庫中添加新行,只需更新現有行)即可。 –