人。我在Android中有关于PopupWindow的问题 我有2个按钮,单击其中一个将显示一个popupWindow,它是外部类中的成员变量 popupWindow的内容和布局是不同的 我在onClick方法中更新了popipWindow的内容,如下所示:
bt1.setOnClickListener(new OnClickListener{
onClick(View v){
mPopupWin.setContentView(R.layout.layout_a);
});
bt2.setOnClickListener(new OnClickListener{
onClick(View v){
mPopupWin.setContentView(R.layout.layout_b);
});
当我第一次点击其中任何一个时,它工作,popupWindow显示,但当我点击另一个时,popupWindow没有显示(mPopupWin之前已被正确解散,并且contentView不是NULL,并且宽度/高度不是0,我检查过......)
当我再次单击第二个按钮时,popupWindow正常显示。
然后我尝试在doInBackground中使用AsycnTask来setContentView(),并在onPostExecute()中显示popupWindow,一切正常。
我可以通过这种方式实现我的目的,但我仍然想知道第一种方式的问题是什么 希望你的帮助,谢谢你:)
答案 0 :(得分:1)
我没有机会测试它,但尝试更改代码以使用update()
bt1.setOnClickListener(new OnClickListener{
onClick(View v){
mPopupWin.setContentView(R.layout.layout_a);
mPopupWin.update();
});
bt2.setOnClickListener(new OnClickListener{
onClick(View v){
mPopupWin.setContentView(R.layout.layout_b);
mPopupWin.update();
});
如果在弹出窗口显示时调用此方法无效。
在决定拨打update()
时,您可能需要查看isShowing()是否