android弹出窗口

android弹出窗口,android,Android,我正在尝试创建自己的虚拟键盘,因为没有默认键盘适合我的需要。 我已经创建了布局(keyboard.xml),我想让我的键盘像其他键盘一样显示在屏幕的底部。我想用popupWindow。 我尝试了pw.showAtLocation(this.findViewById(R.id.mainLinearLayout),Gravity.BOTTOM,0,0),其中mainLinearLayout是当前活动的(根xml元素)linearLayout的id,但是我得到了一个“android.view.Wind

我正在尝试创建自己的虚拟键盘,因为没有默认键盘适合我的需要。 我已经创建了布局(keyboard.xml),我想让我的键盘像其他键盘一样显示在屏幕的底部。我想用popupWindow。 我尝试了
pw.showAtLocation(this.findViewById(R.id.mainLinearLayout),Gravity.BOTTOM,0,0)
,其中mainLinearLayout是当前活动的(根xml元素)linearLayout的id,但是我得到了一个“android.view.WindowManager$BadTokenException:无法添加窗口--标记null无效;您的活动正在运行吗?”。 你知道怎么解决吗


谢谢。

有一种使用alertDialog的方法。alertDialog包含您的xml。 在这里检查我的答案:

然后要定位alerDialog,请参见以下线程:


尝试提供各种其他上下文。这只是因为你的弹出窗口没有正确接收到所需的上下文。很抱歉,我不理解你的建议。我应该在哪里尝试提供另一个上下文?这种定位技巧似乎对我不起作用。查看另一个线程以获取我的评论。