2011-01-22 2 views
2

У меня есть popupwindow в моем приложении, которое предназначено для того, чтобы действовать как своего рода окно настроек. Внутри этого будет несколько небольших представлений, таких как флажки, а что нет, но у меня, похоже, проблема с тем, чтобы работать правильно.Кнопка Android Inside PopupWindow

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

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

Благодарим за помощь.

ответ

2

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

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

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

Я хотел, чтобы вещи, как просто, как я мог, но я в конечном итоге расширение Диалога в новом классе, чтобы получить полный контроль, что я хотел , Ваш пост был очень полезен, чтобы я начал с этого, большое спасибо. – Chance

Смежные вопросы