Java 当我在单个用户上单击“删除”时,它会删除我数据库中的所有用户
当我点击其中一个输入时,它会删除所有记录,而不仅仅是一条记录。在过去的两天里,我一直在努力解决这个问题,但运气不佳 [应用程序看起来像什么][1]Java 当我在单个用户上单击“删除”时,它会删除我数据库中的所有用户,java,android,sqlite,android-database,Java,Android,Sqlite,Android Database,当我点击其中一个输入时,它会删除所有记录,而不仅仅是一条记录。在过去的两天里,我一直在努力解决这个问题,但运气不佳 [应用程序看起来像什么][1] } 公共类ItemAdapter扩展了RecyclerView.Adapter{ private Activity activity; private ArrayList<Item>list; private AlertDialog dialog; public ItemAdapter(Activity activity, Array
} 公共类ItemAdapter扩展了RecyclerView.Adapter{
private Activity activity;
private ArrayList<Item>list;
private AlertDialog dialog;
public ItemAdapter(Activity activity, ArrayList<Item> list) {
this.activity = activity;
this.list = list;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_list,parent,false);
return new MyViewHolder(view);
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
final Item item = list.get(position);
holder.name.setText("Name: " + item.getName());
holder.age.setText("Age: " + item.getAge());
holder.weight.setText("Weight: " + item.getWeight());
holder.height.setText("Height:" + item.getHeight());
holder.reach.setText("Reach: " + item.getReach());
holder.btnEdit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
final int id = item.getId();
LayoutInflater layoutInflater = activity.getLayoutInflater();
View view1 = layoutInflater.inflate(R.layout.activity_edit,null);
final EditText input_name = (EditText) view1.findViewById(R.id.Name);
final EditText input_age = (EditText) view1.findViewById(R.id.Age);
final EditText input_weight = (EditText) view1.findViewById(R.id.Weight);
final EditText input_height = (EditText) view1.findViewById(R.id.Height);
final EditText input_reach = (EditText) view1.findViewById(R.id.Reach);
final Button btnSave = (Button) view1.findViewById(R.id.btnSave);
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
builder.setView(view1).setTitle("Edit Records").setNegativeButton("close", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialog.dismiss();
}
});
final Functions functions = new Functions(activity);
final Item _items = functions.getSingleItem(id);
input_name.setText(_items.getName());
input_age.setText(_items.getAge());
input_weight.setText(_items.getWeight());
input_height.setText(_items.getHeight());
input_reach.setText(_items.getReach());
btnSave.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String name = input_name.getText().toString();
String age = input_age.getText().toString();
String weight = input_weight.getText().toString();
String height = input_height.getText().toString();
String reach = input_reach.getText().toString();
_items.setName(name);
_items.setAge(age);
_items.setWeight(weight);
_items.setHeight(height);
_items.setReach(reach);
functions.Update(_items);
Toast.makeText(activity, name + " updated.", Toast.LENGTH_SHORT).show();
((MainActivity)activity).fetchRecords();
dialog.dismiss();
}
});
dialog = builder.create();
dialog.show();
}
});
holder.btnDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
final int id = item.getId();
final String last = item.getName();
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
builder.setTitle("Delete").setMessage("Are you sure you want to delete " + last+"?")
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Functions functions = new Functions(activity);
functions.DeleteItem(id);
((MainActivity)activity).fetchRecords();
Toast.makeText(activity,last + " deleted.",Toast.LENGTH_SHORT).show();
}
}).setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialog.dismiss();
}
});
dialog = builder.create();
dialog.show();
}
});
}
@Override
public int getItemCount() {
return list.size();
}
public class MyViewHolder extends RecyclerView.ViewHolder {
TextView name, age, weight, height, reach;
TextView btnEdit,btnDelete;
public MyViewHolder(View itemView) {
super(itemView);
name = (TextView) itemView.findViewById(R.id.name);
age = (TextView) itemView.findViewById(R.id.age);
weight = (TextView) itemView.findViewById(R.id.weight);
height = (TextView) itemView.findViewById(R.id.height);
reach = (TextView) itemView.findViewById(R.id.reach);
btnDelete = (TextView) itemView.findViewById(R.id.btnDelete);
btnEdit = (TextView) itemView.findViewById(R.id.btnEdit);
}
}
私人活动;
私人审裁专家;
私人警报对话框;
公共项适配器(活动,ArrayList列表){
这个。活动=活动;
this.list=列表;
}
@凌驾
公共MyViewHolder onCreateViewHolder(视图组父级,int-viewType){
View=LayoutFlater.from(parent.getContext()).flate(R.layout.item_list,parent,false);
返回新的MyViewHolder(视图);
}
@凌驾
公共无效onBindViewHolder(MyViewHolder,int位置){
最终项目=列表。获取(位置);
holder.name.setText(“name:+item.getName());
holder.age.setText(“age:+item.getAge());
holder.weight.setText(“重量:+item.getWeight());
holder.height.setText(“height:+item.getHeight());
holder.reach.setText(“reach:+item.getReach());
holder.btnEdit.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
final int id=item.getId();
LayoutInflater LayoutInflater=activity.getLayoutInflater();
视图1=布局更平坦。充气(R.layout.activity\u edit,null);
最终EditText输入_name=(EditText)view1.findViewById(R.id.name);
最终编辑文本输入_age=(编辑文本)视图1.findViewById(R.id.age);
最终编辑文本输入_权重=(编辑文本)视图1.findViewById(R.id.weight);
最终编辑文本输入\ U高度=(编辑文本)视图1.findViewById(R.id.height);
最终编辑文本输入_reach=(编辑文本)视图1.findViewById(R.id.reach);
最终按钮btnSave=(按钮)视图1.findViewById(R.id.btnSave);
AlertDialog.Builder=新建AlertDialog.Builder(活动);
setView(view1).setTitle(“编辑记录”).setNegativeButton(“关闭”,新建DialogInterface.OnClickListener()){
@凌驾
公共void onClick(DialogInterface,inti){
dialog.dismise();
}
});
最终功能=新功能(活动);
最终项目_items=functions.getSingleItem(id);
输入_name.setText(_items.getName());
输入_age.setText(_items.getAge());
输入_weight.setText(_items.getWeight());
输入_height.setText(_items.getHeight());
输入_reach.setText(_items.getReach());
btnSave.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
String name=input_name.getText().toString();
String age=input_age.getText().toString();
字符串权重=输入_weight.getText().toString();
字符串高度=输入\高度.getText().toString();
String reach=input_reach.getText().toString();
_items.setName(名称);
_项目.设置(年龄);
_项目.设定重量(重量);
_项目.设置高度(高度);
_项目。设置到达(到达);
功能。更新(_项);
Toast.makeText(活动,名称+“更新”),Toast.LENGTH_SHORT.show();
((MainActivity)activity.fetchRecords();
dialog.dismise();
}
});
dialog=builder.create();
dialog.show();
}
});
holder.btnDelete.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
final int id=item.getId();
最后一个字符串last=item.getName();
AlertDialog.Builder=新建AlertDialog.Builder(活动);
builder.setTitle(“删除”).setMessage(“您确定要删除“+last+”?”)吗)
.setPositiveButton(“是”,新的DialogInterface.OnClickListener(){
@凌驾
公共void onClick(DialogInterface,inti){
功能=新功能(活动);
函数。删除项(id);
((MainActivity)activity.fetchRecords();
Toast.makeText(活动,最后一个+“已删除”),Toast.LENGTH_SHORT.show();
}
}).setNegativeButton(“否”,新的DialogInterface.OnClickListener(){
@凌驾
公共void onClick(DialogInterface,inti){
dialog.dismise();
}
});
dialog=builder.create();
dialog.show();
}
});
}
@凌驾
public int getItemCount(){
返回list.size();
}
公共类MyViewHolder扩展了RecyclerView.ViewHolder{
text查看姓名、年龄、体重、身高、距离;
文本视图btnEdit,btnDelete;
公共MyViewHolder(查看项目视图){
超级(项目视图);
name=(TextView)itemView.findViewById(R.id.name);
age=(TextView)itemView.findViewById(R.id.age);
权重=(TextView)itemView.findViewById(R.id.weight);
高度=(TextView)itemView.findViewById(R.id.height);
reach=(TextView)itemView.findViewById(R.id.reach);
btnDelete=(TextView)itemView.findViewById(R.id.btnDelete);
btnEdit=(TextView)itemView.findViewById(R.id.btnEdit);
}
}
}在插入方法中删除此行:
contentValues.put(fighter.ID,item.getId());
Id是自动生成的。您不会在任何地方调用
DeleteItem
方法。你不能在任何地方删除任何内容。对不起,误读了
public static final String TABLE_FIGHTER = "fighter";
public static final String ID = "ID";
public static final String NAME = "Name";
public static final String AGE = "Age";
public static final String WEIGHT = "Weight";
public static final String HEIGHT = "Height";
public static final String REACH = "Reach";
public static final String CREATE_TABLE_PERSON = "CREATE TABLE " + TABLE_FIGHTER + "("
+ ID + " INTEGER PRIMARY KEY,"
+ NAME + " TEXT,"
+ AGE + " TEXT,"
+ WEIGHT + " TEXT,"
+ HEIGHT + " TEXT"
+ REACH + " TEXT"+ ")";
private Activity activity;
private ArrayList<Item>list;
private AlertDialog dialog;
public ItemAdapter(Activity activity, ArrayList<Item> list) {
this.activity = activity;
this.list = list;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_list,parent,false);
return new MyViewHolder(view);
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
final Item item = list.get(position);
holder.name.setText("Name: " + item.getName());
holder.age.setText("Age: " + item.getAge());
holder.weight.setText("Weight: " + item.getWeight());
holder.height.setText("Height:" + item.getHeight());
holder.reach.setText("Reach: " + item.getReach());
holder.btnEdit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
final int id = item.getId();
LayoutInflater layoutInflater = activity.getLayoutInflater();
View view1 = layoutInflater.inflate(R.layout.activity_edit,null);
final EditText input_name = (EditText) view1.findViewById(R.id.Name);
final EditText input_age = (EditText) view1.findViewById(R.id.Age);
final EditText input_weight = (EditText) view1.findViewById(R.id.Weight);
final EditText input_height = (EditText) view1.findViewById(R.id.Height);
final EditText input_reach = (EditText) view1.findViewById(R.id.Reach);
final Button btnSave = (Button) view1.findViewById(R.id.btnSave);
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
builder.setView(view1).setTitle("Edit Records").setNegativeButton("close", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialog.dismiss();
}
});
final Functions functions = new Functions(activity);
final Item _items = functions.getSingleItem(id);
input_name.setText(_items.getName());
input_age.setText(_items.getAge());
input_weight.setText(_items.getWeight());
input_height.setText(_items.getHeight());
input_reach.setText(_items.getReach());
btnSave.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String name = input_name.getText().toString();
String age = input_age.getText().toString();
String weight = input_weight.getText().toString();
String height = input_height.getText().toString();
String reach = input_reach.getText().toString();
_items.setName(name);
_items.setAge(age);
_items.setWeight(weight);
_items.setHeight(height);
_items.setReach(reach);
functions.Update(_items);
Toast.makeText(activity, name + " updated.", Toast.LENGTH_SHORT).show();
((MainActivity)activity).fetchRecords();
dialog.dismiss();
}
});
dialog = builder.create();
dialog.show();
}
});
holder.btnDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
final int id = item.getId();
final String last = item.getName();
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
builder.setTitle("Delete").setMessage("Are you sure you want to delete " + last+"?")
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Functions functions = new Functions(activity);
functions.DeleteItem(id);
((MainActivity)activity).fetchRecords();
Toast.makeText(activity,last + " deleted.",Toast.LENGTH_SHORT).show();
}
}).setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialog.dismiss();
}
});
dialog = builder.create();
dialog.show();
}
});
}
@Override
public int getItemCount() {
return list.size();
}
public class MyViewHolder extends RecyclerView.ViewHolder {
TextView name, age, weight, height, reach;
TextView btnEdit,btnDelete;
public MyViewHolder(View itemView) {
super(itemView);
name = (TextView) itemView.findViewById(R.id.name);
age = (TextView) itemView.findViewById(R.id.age);
weight = (TextView) itemView.findViewById(R.id.weight);
height = (TextView) itemView.findViewById(R.id.height);
reach = (TextView) itemView.findViewById(R.id.reach);
btnDelete = (TextView) itemView.findViewById(R.id.btnDelete);
btnEdit = (TextView) itemView.findViewById(R.id.btnEdit);
}
}
contentValues.put(fighter.ID,item.getId());