Кнопка Android внутри PopupWindow - PullRequest
2 голосов
/ 23 января 2011

У меня в приложении есть всплывающее окно, которое должно действовать как своего рода окно настроек.Внутри этого будет несколько маленьких представлений, таких как флажки и тому подобное, но у меня, похоже, есть проблема с тем, чтобы заставить его работать должным образом.

В настоящее время у меня есть только одна кнопка в представлении, которое она надувает, иЯ пытаюсь использовать его, чтобы закрыть всплывающее окно, но я получаю исключение NullPointerException при попытке настроить onClickListener.Фактически, если я вообще обращаюсь к кнопке, даже в чем-то вроде «button.isShown ()», это дает мне исключение, как будто кнопка не существует.

Я перепробовал все, что ямог придумать, но ничто не решает эту проблему.Я предполагаю, что был бы способ иметь рабочие кнопки внутри PopupWindow, или мне нужно изменить какую-то форму диалога, чтобы получить эффект, который мне нужен?

Спасибо за вашу помощь.

1 Ответ

2 голосов
/ 23 января 2011

Убедитесь, что при вызове findViewById (R.id.yourButton) вы используете Dialog.findViewById (id), в противном случае он будет искать ваш основной макет для кнопки и не найдет его правильно, что приведет к NullPointers при попытке использовать ссылку.

Редактировать: вот код купола, чтобы сделать это более понятным

    AlertDialog.Builder builder = new AlertDialog.Builder(this)
    .setView(layout); 
    alertDialog = builder.create();
    alertDialog.show();
    button = (Button) alertDialog.findViewById(R.id.yourButton);
...