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