我想在另一个PopUpWindow中打开一个PopUpWindow。我的MainActivity里有一个ImageButtons。当我点击它时,会出现一个PopUpWindow。我使用它作为我的应用程序中的一种子菜单。在我的第一个PopupWindow中是另一个ImageButton。如果我点击它,应该会出现第二个PopupWindow,并覆盖第一个。
打开第一个PopupWindow就可以了。当我单击其中的按钮打开第二个按钮时,应用程序崩溃。如何才能使第二个PopupWindow正常工作?
谢谢你的帮助。
我像这样试了一下:
final ImageButton btnOpenPopup = (ImageButton) findViewById(R.id.button_name);
btnOpenPopup.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
LayoutInflater layoutInflater
= (LayoutInflater) getBaseContext()
.getSystemService(LAYOUT_INFLATER_SERVICE);
View popupView = layoutInflater.inflate(R.layout.popup_fertig, null);
final PopupWindow popupWindow = new PopupWindow(
popupView,
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
popupWindow.showAtLocation(btnOpenPopup, Gravity.TOP | Gravity.RIGHT, 0, 0);
Button btn_2 = (Button) popupView.findViewById(R.id.button_2);
btn_2.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
LayoutInflater layoutInflater_2
= (LayoutInflater) getBaseContext()
.getSystemService(LAYOUT_INFLATER_SERVICE);
View popupView_2 = layoutInflater.inflate(R.layout.popup_2, null);
final PopupWindow popupWindow_2 = new PopupWindow(
popupView_2,
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
popupWindow_2.showAtLocation(btn_2, Gravity.TOP | Gravity.RIGHT, 0, 0);
}
}
});
}发布于 2015-09-25 17:12:03
我也在尝试做你正在做的事情,但没有成功,但是我确实找到了你想要做的事情的变通方法。
在popupView xml布局中,必须创建一个framelayout作为父布局,然后将popupView和popupView 2布局都放入父布局中。然后,当在popupView中按下按钮时,将打开和关闭这两个布局中每个布局的可见性。
它实际上工作得很好,popupView根据它持有的内容适当地调整了自己的大小,并带有流畅的动画。
https://stackoverflow.com/questions/31492315
复制相似问题