相关疑难解决方法(0)

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

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

android dialog touch android-activity

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

触摸在外面时,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
查看次数

用户在后台单击时如何防止关闭警告对话框?

你好朋友我做了一个警告对话框,当没有网络连接时触发,当人点击确定按钮时,他将被定向到没有Internet.class它工作正常,但真正的问题是当用户点击警告对话框的背景它自动被解雇.我怎么能停止?我的意思是取消对话框.我也使用了这个方法SetCancelable(false); 但它不起作用.它给出了一个错误.

以下是我的代码

AlertDialog.Builder alert = new AlertDialog.Builder(this,R.style.AppCompatAlertDialogStyle);
        alert.setTitle("Internet Problem");
        alert.setMessage("No Internet!!!");

       // alert.SetCancelable(false);

        alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {
                //Do something here where "ok" clicked and then perform intent from activity context
                Intent intent = new Intent(BaseActivity.this, NoInternet.class);
                BaseActivity.this.startActivity(intent);

            }
        });
Run Code Online (Sandbox Code Playgroud)

java android

-1
推荐指数
1
解决办法
2334
查看次数