Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java CustomAlertDialog不';t在删除数据库记录后完成其过程_Java_Android - Fatal编程技术网

Java CustomAlertDialog不';t在删除数据库记录后完成其过程

Java CustomAlertDialog不';t在删除数据库记录后完成其过程,java,android,Java,Android,我使用CustomAlertDialog从数据库中删除一条记录,当我成功删除一条记录并尝试在数据库中插入新行时,AlertDialog再次出现,尽管我甚至没有调用它,当我单击delete按钮时,它会删除一条记录,直到删除所有记录并导致应用程序崩溃 我在AdapterClass上调用它=> @Override public void onClick(View view) { E04Object obj = object.get(getAdapterPosition

我使用CustomAlertDialog从数据库中删除一条记录,当我成功删除一条记录并尝试在数据库中插入新行时,AlertDialog再次出现,尽管我甚至没有调用它,当我单击delete按钮时,它会删除一条记录,直到删除所有记录并导致应用程序崩溃

我在AdapterClass上调用它=>

    @Override
    public void onClick(View view) {

        E04Object obj = object.get(getAdapterPosition()) ;

        id = obj.getId() ;

 if (view == deleteBtn) {

            int position = id ;

            if (position != RecyclerView.NO_POSITION) {

                activityReference.ShowDialog(position);

            }

            clicked = false ;

            } }
我在FragmentClass中初始化它=>

@Override
public void ShowDialog(int position) {



    DialogObject dialogObject = new DialogObject() ;
    CustomDialogView customDialogView = new CustomDialogView(getActivity() , dialogObject) ;

    dialogObject.setListener(new DialogListener() {
        @Override
        public void onPositive() {

            dbConnector.get().execSQL(
                    
                        " DELETE FROM " + db.Tables.MYDB + " WHERE " + db.MYDB.ID + " = " + position );

            customDialogView.hide();

            list.remove(MyAdapter.cardId) ;
            adapter.notifyDataSetChanged();

            }


        @Override
        public void onNegative() {
            customDialogView.hide();
        }
    });

    customDialogView.setCancelable(true);
    customDialogView.show();

}
用这个替换代码

customDialogView.dismiss();
用这个替换代码

customDialogView.dismiss();

使用view.getId()==R.id.deleteBtn(btn id)@D_K有什么区别?不起作用。请使用customDialogView.Disclose();而不是customDialogView.hide()@D_K这个真的很有效,很奇怪,但非常感谢。如果有帮助,请升级iTunes view.getId()==R.id.deleteBtn(btn id)@D_K有什么区别?不起作用。请使用customDialogView.Disclose();而不是customDialogView.hide()@D_èK这一次真的很有效,很奇怪,但非常感谢。如果有帮助,请投票
   @Override
public void ShowDialog(int position) {



DialogObject dialogObject = new DialogObject() ;
CustomDialogView customDialogView = new CustomDialogView(getActivity() , dialogObject) ;

dialogObject.setListener(new DialogListener() {
    @Override
    public void onPositive() {

        dbConnector.get().execSQL(
                
                    " DELETE FROM " + db.Tables.MYDB + " WHERE " + db.MYDB.ID + " = " + position );

        customDialogView.dismiss();

        list.remove(MyAdapter.cardId) ;
        adapter.notifyDataSetChanged();

        }


    @Override
    public void onNegative() {
        customDialogView.dismiss();
    }
});

customDialogView.setCancelable(true);
customDialogView.show();
}