Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何关闭弹出窗口?_Java_Android_Popup - Fatal编程技术网

Java 如何关闭弹出窗口?

Java 如何关闭弹出窗口?,java,android,popup,Java,Android,Popup,我有一个带有自定义弹出窗口(quickaction样式)的活动。有一些按钮指向其他活动。我想在按下此弹出窗口中的按钮(关于或电子邮件按钮)后关闭弹出窗口(现在当我返回时,弹出窗口再次出现) 请帮忙 添加: QuickAction qa; quickButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { qa

我有一个带有自定义弹出窗口(quickaction样式)的活动。有一些按钮指向其他活动。我想在按下此弹出窗口中的按钮(关于或电子邮件按钮)后关闭弹出窗口(现在当我返回时,弹出窗口再次出现)

请帮忙


添加:

QuickAction qa;
quickButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            qa = new QuickAction(v);

            qa.addActionItem(about);
            qa.addActionItem(email);
            qa.setAnimStyle(QuickAction.ANIM_GROW_FROM_RIGHT);

            qa.show();
        }
    });


    about.setTitle("About");
    about.setIcon(getResources().getDrawable(R.drawable.about));
    about.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            if(qa.isShowing())
               qa.dismiss();
            //some code
        }
    });

    email.setTitle("Email");
    email.setIcon(getResources().getDrawable(R.drawable.email));
    email.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            if(qa.isShowing())
               qa.dismiss();
            //some code
        }
    });
我需要这样的东西:

about.setTitle("About");
    about.setIcon(getResources().getDrawable(R.drawable.about));
    about.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            qa.dismiss();
        }
    });
但是,
qa
无法解决。即使我将
final
添加到
QuickAction qa=新的QuickAction(v)

在按钮的onClick方法上尝试
finish()

更新:

QuickAction qa;
quickButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            qa = new QuickAction(v);

            qa.addActionItem(about);
            qa.addActionItem(email);
            qa.setAnimStyle(QuickAction.ANIM_GROW_FROM_RIGHT);

            qa.show();
        }
    });


    about.setTitle("About");
    about.setIcon(getResources().getDrawable(R.drawable.about));
    about.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            if(qa.isShowing())
               qa.dismiss();
            //some code
        }
    });

    email.setTitle("Email");
    email.setIcon(getResources().getDrawable(R.drawable.email));
    email.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            if(qa.isShowing())
               qa.dismiss();
            //some code
        }
    });

您还可以将
私人QuickAction qa在您的活动中。

这不是解决方案,因为在我返回到带有弹出窗口的活动后,它(带有弹出窗口的活动)将关闭。您可以尝试使用
discouse()
方法。是的,我知道。但是请看这个问题。我添加了使其工作所需的具体操作。
QuickAction-qa不起作用,但
private
起作用。谢谢你的解答。我还有一个问题。我想把
if(qa.isShowing())qa.discouse()放在onRestart
中的code>。但是对于QuickAction类型,
isShowing
未定义。我该怎么做?请帮忙。