打开弹出窗口

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了打开弹出窗口相关的知识,希望对你有一定的参考价值。

我有一个弹出窗口每隔x次显示在屏幕上但是我希望在用户按下Send Button 之后我希望弹出窗口在x开口后停止出现这是弹出窗口的代码:

 private void dialog() {
    myDialog.setContentView(R.layout.activity_pop_up);
    editTextEmailValue = (EditText) myDialog.findViewById(R.id.editTextEmail);
    editTextMessageValue = (EditText) myDialog.findViewById(R.id.editTextMessage);
    editTextNumeValue = (EditText) myDialog.findViewById(R.id.editTextNume);
    Button btnSend = (Button) myDialog.findViewById(R.id.sendBtn);
    Button btnClose = (Button) myDialog.findViewById(R.id.close);

    btnSend.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            if (check() == 0) {
                sendMail();
                myDialog.dismiss();
            }
        }
    });
    btnClose.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            myDialog.dismiss();
        }
    });
    myDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
    myDialog.setCancelable(false);
    myDialog.show();
}

以下是我计算应用开放的方式:

//this in in onCreate method
prefs = getPreferences(Context.MODE_PRIVATE);
    editor = prefs.edit();

    totalCount = prefs.getInt("counter", 0);
    totalCount++;
    editor.putInt("counter", totalCount);
    editor.commit();


    if (totalCount % 2 == 0) {
        dialog();
    }

我试图在 if(totalCount % 2 == 0 && stop == 1)中设置一个条件,我把 stop = 0放在 btnSend.onClickListener()中,如下所示:

 btnSend.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            if (check() == 0) {
                sendMail();
                myDialog.dismiss();
                stop = 0; //Note that the stop variable is public
            }
        }
    });
答案

使用您的代码,对话框将在两次中打开一次,因为每次增加totalCount并在检查totalCount模2之后

首次打开totalCount = 1(对话框打开)

第二次打开totalCount = 2(对话框仍然关闭)

第三次打开totalCount = 3(对话框打开)

以上是关于打开弹出窗口的主要内容,如果未能解决你的问题,请参考以下文章

[技术]打开网页弹出窗口的代码

从控制台应用程序启动 WPF 窗口

如果您打开另一个弹出窗口,请关闭打开的弹出窗口

无法在弹出窗口中打开PHP文件

HTML代码片段

HTML代码片段