1

我的应用程序中有一个奇怪的问题。

让我解释一下...我有一个 ListView 显示几个项目。当我单击这些项目时,我会显示一个带有是和否按钮的 alertDialog。警报显示正常,当我单击按钮时,会调用 onclick 处理程序并执行我的代码。到目前为止还不错吧?

但是当我离开这个视图(返回)并开始一些其他活动时,然后返回到这个视图。我可以在列表中选择一个项目,会显示 alertDialog 但是当我单击一个按钮时没有任何反应。它没有进入我的 onClick 方法。

太奇怪了,我尝试了不同的技术来显示 alertDialog 并捕捉事件,但每次我遇到同样的问题。我在 logcat 中没有转储或日志...

下面是我如何调用 AlertDialog 的代码

    public void onListItemClick(ListView l, View v, int position, long id) {    
    cancelAppointment(position);
}

    public void cancelAppointment(int position){
    selectedPosition = position;
    Util.getInstance().setApptToDelete(appointmentsArray.get(position));
    askConfirmation();
}

    public void askConfirmation(){ 
    String message = "Are you sure you want to cancel this appointment?";
            AlertDialog.Builder alertbox = new AlertDialog.Builder(this);
            alertbox.setMessage(message);
            alertbox.setPositiveButton("Yes", this);
            alertbox.setNegativeButton("No", this);

            AlertDialog ald = alertbox.create();
            ald.show();
            //alertbox.show();
}

    @Override
    public void onClick(DialogInterface dialog, int which) {
    dialog.cancel();
    if(which == -2){
        // no
        dialog.cancel();
    }else{
        // yes
        dialog.cancel();
        if(Util.getInstance().getCreateBookingResult() != 0){
            new CancelAppointment().execute("");
            pb.setVisibility(View.VISIBLE);
        }
    }
}

有人知道这个错误吗?更重要的是,知道如何解决它吗?

感谢你们,

任何帮助将不胜感激。

4

0 回答 0