【发布时间】:2020-10-25 06:04:40
【问题描述】:
当我尝试更新数据库中的一行时,它说只需要 3 个参数,但你有 5 个。我真的不知道为什么会这样,因为我给了它 3 个参数。这是我的代码:
public void editdata(int id,String name,String Phonenumber){
SQLiteDatabase sqLiteDatabase=this.getWritableDatabase();
ContentValues cv=new ContentValues();
cv.put(COLIMN_NAME,name);
cv.put(COLUMN_PHONENUMBER,Phonenumber);
sqLiteDatabase.update(TB_NAME,cv,"id=?",new String[id]);
}
这是我的警告对话:
holder.btn_edit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
LayoutInflater inflater=LayoutInflater.from(context);
View add_view=inflater.inflate(R.layout.dialog_addcontacts,null);
AlertDialog alertDialog=new AlertDialog.Builder(context).create();
alertDialog.setView(add_view);
final TextInputEditText edt_name=add_view.findViewById(R.id.edt_name);
final TextInputEditText edt_phonenumber=add_view.findViewById(R.id.edt_number);
Button btn_add=add_view.findViewById(R.id.btn_add);
btn_add.setText("change");
edt_name.setText(phonebookModel.getName());
edt_phonenumber.setText(phonebookModel.getPhonenumber());
btn_add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (!edt_name.getText().toString().isEmpty()&&!edt_phonenumber.getText().toString().isEmpty()) {
phoneBookDB.editdata(phonebookModel.getId(),edt_name.getText().toString(), edt_phonenumber.getText().toString());
((Activity)context).finish();
context.startActivity(((Activity) context).getIntent());
}else {
Toast.makeText(context, "please fill in the requested fields", Toast.LENGTH_SHORT).show();
}
}
});
alertDialog.show();
}
});
【问题讨论】:
标签: java android sqlite android-studio android-sqlite