在PopupWindow中打开PopupWindow

时间:2015-07-18 14:45:15

标签: java android popupwindow

我想在另一个PopUpWindow中打开PopUpWindow。我的ImageButtons中有一个MainActivity。当我点击它时会出现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); } } }); } 工作?

感谢您的帮助。

我试过它喜欢这个:

def create_text():
    x = input("Text title: ")
    y = input("Text : ")
    userinput = {x: y}
    return userinput

1 个答案:

答案 0 :(得分:1)

我也尝试做你正在做的事情,但没有成功,但我确实找到了你想做的事情的解决方法。

在popupView xml布局中,您必须创建一个framelayout作为父布局,然后将popupView和popupView 2布局放在父布局中。然后,当在popupView中按下按钮时,您将打开和关闭两个布局中每个布局的可见性。

它实际上运行得非常好,popupView根据它所拥有的内容适当调整自己的平滑动画。