我正在尝试创建一个弹出窗口,在应用程序启动时只出现一次。我想要显示一些文本,并有一个按钮关闭该弹窗。然而,我无法让PopupWindow正常工作。我尝试了两种不同的方法:
首先,我有一个名为popup.xml的XML文件,声明了弹出窗口的布局(一个线性布局内的文本视图),并在我的主Activity的OnCreate()中添加了它:
PopupWindow pw = new PopupWindow(findViewById(R.id.popup), 100, 100, true);
pw.showAtLocation(findViewById(R.id.main), Gravity.CENTER, 0, 0);
然后我用完全相同的代码进行了这个操作:
final LayoutInflater inflater = (LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
PopupWindow pw = new PopupWindow(inflater.inflate(R.layout.popup, (ViewGroup) findViewById(R.layout.main) ), 100, 100, true);
pw.showAtLocation(findViewById(R.id.main_page_layout), Gravity.CENTER, 0, 0);
第一个抛出NullPointerException异常,第二个抛出BadTokenException异常,并显示“无法添加窗口--令牌为null无效”。
我到底做错了什么?我非常新手,请多包涵。
} }, 1000);但我仍然遇到相同的错误。你能帮我解决吗? - dheeraj