gpt4 book ai didi

android - android中的多个弹出窗口

转载 作者:行者123 更新时间:2023-11-29 01:35:19 26 4
gpt4 key购买 nike

我在单个 Activity 中有两个线性布局。单击时,我想在每个弹出窗口上显示自定义弹出窗口。当我点击第一个布局时,弹出 apperas,然后点击第二个布局,两个弹出窗口都会显示。我怎样才能一次只显示一个弹出窗口?

这是我的代码

    workLinearLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
LayoutInflater layoutInflater=
(LayoutInflater)getBaseContext()
.getSystemService(LAYOUT_INFLATER_SERVICE);
View popupView = layoutInflater.inflate
(R.layout.activity_your_places__work__popup, null);
updateTextView = (TextView)
popupView.findViewById(R.id.UpdateTextView);
updateTextView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(Your_Places2Activity.this,
UpdateWorkAddressActivity.class);
startActivity(i);
}
});
deleteTextView = (TextView)
popupView.findViewById(R.id.DeleteTextView);
deleteTextView.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v) {
//code to delete address
}
});
popupWindowWork = new PopupWindow(
popupView,
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
//dismiss other popup if is showing
if(popupWindowHome.isShowing())
{
popupWindowHome.dismiss();}
//display popup
popupWindowWork.showAsDropDown(workLinearLayout, 0, -70);

}
});

我在其他线性布局上也做过同样的事情

最佳答案

popupWindowWork = new PopupWindow(
popupView,
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
if(popupWindowHome.isShowing())
{
popupWindowHome.dismiss();
}

在这一行中,如果 popupWindowHome 正在显示,您将关闭 popupWindowHome 对话框,popupWindowHome 是新对话框。在构造函数调用之前移动 if 语句。

if(popupWindowHome != null && popupWindowHome.isShowing())
{
popupWindowHome.dismiss();
}
popupWindowWork = new PopupWindow(
popupView,
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT);

关于android - android中的多个弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28581436/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com