Java 当我在单个用户上单击“删除”时,它会删除我数据库中的所有用户

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

当我点击其中一个输入时,它会删除所有记录,而不仅仅是一条记录。在过去的两天里,我一直在努力解决这个问题,但运气不佳

[应用程序看起来像什么][1]


}

公共类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());