Я пытаюсь создать всплывающее окно, которое появляется только при первом запуске приложения.Я хочу, чтобы он отображал некоторый текст и имел кнопку, чтобы закрыть всплывающее окно.Однако у меня проблемы с тем, чтобы заставить PopupWindow работать даже.Я попробовал два разных способа сделать это:
Во-первых, у меня есть файл XML, который объявляет макет всплывающего окна с именем popup.xml (текстовое представление внутри линейного слоя), и я добавил это в 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 и говорит «Unableдобавить окно - токен null недействителен "
Что в мире я делаю неправильно?Я очень новичок, поэтому, пожалуйста, потерпите меня.