Активность диалога - Добавление слушателей нажатия кнопки - PullRequest
3 голосов
/ 24 ноября 2011

Я пытаюсь создать действие, которое можно использовать как диалог.Моя активность имеет тему диалога, поэтому она имеет ощущение диалога.В моем макете я добавил TextView для отображения сообщения и три кнопки (Положительный, Отрицательный, Нейтральный).Текстовое сообщение, которое должно быть отображено, передается как дополнительное в намерении.Как и названия кнопок.Я скрываю кнопку, для которой в intent-extras была передана пустая строка.Это почти реализует поведение диалога, за исключением того, что я понятия не имею, как реализовать слушателей нажатия кнопки.

Есть идеи?

Ответы [ 2 ]

1 голос
/ 24 ноября 2011

Это очень просто: вы должны начать диалог через startActivityForResult(Intent, requestCode); и переопределить метод onActivityResult (int requestCode, int resultCode, Intent data), чтобы получить результат вашей диалоговой активности.

Каждая из ваших диалоговых кнопокНужно позвонить setResult() и чем закончить.и вы вернетесь к основному действию в методе onActivityResult с resultCode и данными, если вы их передали.

1 голос
/ 24 ноября 2011

Если у вас есть макет в XML-файле, вы можете добавить что-то вроде onClick="onMyButtonClick" для своей кнопки, тогда в коде у вас будет

public void onMyButtonClick(View sender) { ... }

В качестве альтернативы вы можете иметь в своем onCreate()

Button myButton = (Button)findViewById(R.id.my_button);
myButton.setOnClickListener(new OnClickListener() { ... });

Полагаю, вы захотите куда-нибудь позвонить finish() с вашего onCLickListener, возможно, вместе с setResult()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...