相关疑难解决方法(0)

如何在窗外触摸时取消以Activity为主题的对话框?

我有一个带有Dialog主题的活动,当有人在此活动窗口外的任何地方触摸屏幕时,我想关闭(完成)此活动?我怎样才能做到这一点 ?

android dialog touch android-activity

44
推荐指数
7
解决办法
7万
查看次数

如何在对话框外发生单击时触发事件

我想知道如何解决我遇到的问题.

我有一个在活动中弹出的Dialog.对话框不会覆盖整个屏幕,因此活动中的按钮仍会显示.当对话框的边界外有触摸时,我可以轻松关闭对话框dialog.setCanceledOnTouchOutside(true);

但是,如果点击在Dialog的边界之外,我想要做的就是触发一个事件(例如,如果有人触摸主Activity上的按钮,它应该关闭Dialog并同时触发该事件).

android android-dialog

36
推荐指数
2
解决办法
3万
查看次数

触摸在外面时,AlertDialog消失[Android]

我在我的应用程序上使用警报对话框,但当用户触摸它时它会一直隐藏.这是我的代码:

public class DialogMessageEnd extends DialogFragment
{
    String winner;

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        // Use the Builder class for convenient dialog construction
        Snooker_Scoreboard ss = new Snooker_Scoreboard();
        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
        builder.setCancelable(false);
        builder.setMessage(ss.winnerPlayer + " won the match ("+ss.frame1ToPass+"-"+ss.frame2ToPass+")!")
                .setPositiveButton("New Match!", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id) {
                        Intent i = new Intent(getContext(),PlayerSelection.class);
                        startActivity(i);
                    }
                });



        // Create the AlertDialog object and return it
        return builder.create();
    }

}
Run Code Online (Sandbox Code Playgroud)

如你所见,我用过

builder.setCancelable(false);
Run Code Online (Sandbox Code Playgroud)

但它仍然无法解决问题.你能帮助我吗?谢谢

java android android-alertdialog

1
推荐指数
2
解决办法
7825
查看次数