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