Я пытаюсь открыть всплывающее окно с четырьмя кнопками, которое будет закрываться при нажатии кнопки или когда пользователь нажимает за пределами всплывающего окна.Я просто сделал бы предупреждающий диалог, но он поддерживал бы только 3 кнопки.
Было много вопросов об этой же вещи, и я не могу найти ни одного последовательного ответа или ответа, который бы работал для меня(включая устаревшее растровое изображение).Я поместил все предложения, которые я видел в мой код, но безрезультатно.
Вот все, что я использовал до сих пор:
//to create new popup window
LayoutInflater chooseMealInflater = (LayoutInflater) MainActivity.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View chooseMealLayout = chooseMealInflater.inflate(R.layout.choose_meal_dialog, null);
PopupWindow chooseMealPopup = new PopupWindow(chooseMealLayout, WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT, true);
//to make popup dismiss on touch outside
chooseMealPopup.setOutsideTouchable(true);
chooseMealPopup.setFocusable(true);
chooseMealPopup.setContentView(chooseMealLayout);
chooseMealPopup.showAtLocation (chooseMealLayout, Gravity.CENTER,0,0);
chooseMealPopup.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
Я пытался найти все, что мог, например, сохранить setFocusable
до showAtLocation
, но когда я запускаю приложениеничего не происходит, когда я нажимаю.Я подумал, что это может быть что-то особенное в моем коде, так как я новичок и не знаю, что я делаю.