Урок 60. Диалоги. AlertDialog: Title, Message, Icon, Buttons

Обсуждение уроков
Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Урок 60. Диалоги. AlertDialog: Title, Message, Icon, But

Сообщение rezak90 » 13 сен 2012, 17:03

powercat писал(а):ээ...я просто тычу ктрлшифтО )))
правильно, когда нажимаешь эту комбинацию то выскакивает диалог в котором предлагается выбрать один из двух интерфейсов.
R.id.team
Политика на форуме запрещена

Аватара пользователя
powercat
Сообщения: 508
Зарегистрирован: 20 июл 2012, 11:31

Re: Урок 60. Диалоги. AlertDialog: Title, Message, Icon, But

Сообщение powercat » 14 сен 2012, 13:06

этот выбор у меня бывает очень редко, обычно без него все импортится ) Он точно появляется, перед импортом R для ресурсов

temna
Сообщения: 4
Зарегистрирован: 25 сен 2012, 12:33

Re: Урок 60. Диалоги. AlertDialog: Title, Message, Icon, But

Сообщение temna » 05 окт 2012, 10:19

http://www.mkyong.com/android/android-a ... g-example/ - вот по этому примеру у меня получилось

brucemax
Сообщения: 117
Зарегистрирован: 01 апр 2012, 16:09
Откуда: Минск
Контактная информация:

Re: Урок 60. Диалоги. AlertDialog: Title, Message, Icon, But

Сообщение brucemax » 14 окт 2012, 02:56

rezak90 писал(а):это просто у вас был не правильный импорт и по этому не работало, так как вы импортировали android.view.View.OnClickListener а надо было android.content.DialogInterface.OnClickListener ... внимательней нужно быть!
Каюсь! )

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: Урок 60. Диалоги. AlertDialog: Title, Message, Icon, But

Сообщение klblk » 18 окт 2012, 11:46

Здравствуйте,

Подскажите как можно перенести стандартные для AlertDialog.Builder'а кнопки в layout? (внешний вид)
т.е. чтобы при использовании layout-файла было так:
http://startandroid.ru/images/stories/l ... 10_030.JPG
а не вот так:
http://startandroid.ru/images/stories/l ... 10_020.JPG

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: Урок 60. Диалоги. AlertDialog: Title, Message, Icon, But

Сообщение klblk » 18 окт 2012, 12:45

klblk писал(а):Здравствуйте,

Подскажите как можно перенести стандартные для AlertDialog.Builder'а кнопки в layout? (внешний вид)
т.е. чтобы при использовании layout-файла было так:
http://startandroid.ru/images/stories/l ... 10_030.JPG
а не вот так:
http://startandroid.ru/images/stories/l ... 10_020.JPG
Собственно разобрался... хотя, как мне кажется, не очень хорошо.
За основу взял второй ответ здесь:
http://stackoverflow.com/questions/9804 ... ox-buttons

единственное что для кнопок написал: style="@android:style/Widget.Holo.Light.Button.Borderless.Small"

AndreyI
Сообщения: 372
Зарегистрирован: 14 май 2012, 16:18

Re: Урок 60. Диалоги. AlertDialog: Title, Message, Icon, But

Сообщение AndreyI » 18 окт 2012, 13:33

Только не нужно забывать что эти стили появились с Android 3.0 (API 11) и старше. В гайдах рекомендуют для совместимости с различными версиями API определять стили UI элементов для разных API и помещать их в ресурсах с соответствующими квалификаторами res/values-v11 res/values-v14 тогда при запуске приложения будут применены соответствующие стили и темы.

Аватара пользователя
kondra007
Сообщения: 91
Зарегистрирован: 23 янв 2013, 14:49

Re: Урок 60. Диалоги. AlertDialog: Title, Message, Icon, But

Сообщение kondra007 » 02 фев 2013, 22:14

Здравствуйте.
Ставил кнопки: Да, Нет, Отмена
Результат:
Android 2.2 - Да, Отмена, Нет
Android 4.2.1 - Нет, Отмена, Да

Можно ли вообще как-то этот процесс контролировать? О_О

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Урок 60. Диалоги. AlertDialog: Title, Message, Icon, But

Сообщение rezak90 » 02 фев 2013, 23:36

эм... собственно зачем? зачем менять новый дизайн на старьё?!
а по сути

Код: Выделить всё

AlertDialog dialog = new AlertDialog.Builder(getActivity())
				.setTitle("title")
				.setCustomTitle(textView)
				.setPositiveButton("Cancel", new DialogInterface.OnClickListener() {
					public void onClick(DialogInterface dialog, int whichButton) {

					}
				})
				.setNegativeButton("Ok",
						new DialogInterface.OnClickListener() {
							public void onClick(DialogInterface dialog,
									int whichButton) {

							}
						}).setView(view).create();
подменяем названия кнопок и всё
R.id.team
Политика на форуме запрещена

blackdragonv
Сообщения: 2
Зарегистрирован: 02 апр 2013, 09:47

Re: Урок 60. Диалоги. AlertDialog: Title, Message, Icon, But

Сообщение blackdragonv » 08 апр 2013, 10:42

Код: Выделить всё

ackage com.blackdragonv.kcalc;

import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.util.Log;

public class AskDelQuestion {
	
 private String question = "Удалить запись?";
 private String title = "Title"; 
 private final Context ctx;

 
 public AskDelQuestion(final Context context, String q, String t) 
 {  	 
  this.ctx=context;
  this.question=q;
  this.title=t;  
 } 
 public AskDelQuestion(final Context context) 
 {  	 
  this.ctx=context;
 }
 
 public AskDelQuestion(final Context context, String t) 
 {  	 
  this.ctx=context; 
  this.title=t;  
 }
 
 public Dialog showDlg()
 { 
  OnClickListener Lstn = new OnClickListener() 
   {	
 	public void onClick(DialogInterface dialog, int which) 
 	{
 	  switch (which) 
 	  {
       case Dialog.BUTTON_POSITIVE:         	
         	Log.d(Const.LOGTAG, "yes");
 	        break;
 	   case Dialog.BUTTON_NEGATIVE: 		    
 		   Log.d(Const.LOGTAG, "no");
 	        break; 	        
 	   case Dialog.BUTTON_NEUTRAL:
 		    Log.d(Const.LOGTAG, "?"); 		    
 	        break;
 	  default:  Log.d(Const.LOGTAG, "def");   
 	 } 
 	} 	  
  };
 	  
  AlertDialog.Builder adb = new AlertDialog.Builder(ctx);
  adb.setTitle(this.title);
  adb.setMessage(this.question);
  adb.setPositiveButton(R.string.btnYes, Lstn);
  adb.setNegativeButton(R.string.BtnNo, Lstn);
  adb.setCancelable(false);
  AlertDialog d = adb.create();
  return d;  
 };
 
	
}//endofclass
вызываю так

Код: Выделить всё

public void menu_delClick(MenuItem item)
	{	
	  AskDelQuestion ask = new AskDelQuestion(this, "ddddd");
	  Dialog d = ask.showDlg();
	  d.show();	  
...
}
как получить результат выполнения диалога? (те какая кнопка нажата)
пробовал в классе AskDelQuestion объявлять переменную и в Listener присваивать ей значение=не работает

спс

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Урок 60. Диалоги. AlertDialog: Title, Message, Icon, But

Сообщение rezak90 » 08 апр 2013, 19:51

у Вас же есть OnClickListener в котором onClick вызывается при клике, там и результат
R.id.team
Политика на форуме запрещена

GAAAN
Сообщения: 1
Зарегистрирован: 18 апр 2013, 13:06

Re: Урок 60. Диалоги. AlertDialog: Title, Message, Icon, But

Сообщение GAAAN » 01 июл 2013, 14:20

Всем привет! Кто может подсказать, как сделать открытие Alert Dialog по таймеру. Т.е. я жму к примеру кнопку на моем активити, Alert Dialog откроется по истечению допустим 15-и минут.

Pomeo44
Сообщения: 5
Зарегистрирован: 14 авг 2013, 09:14

Re: Урок 60. Диалоги. AlertDialog: Title, Message, Icon, But

Сообщение Pomeo44 » 16 авг 2013, 12:59

Здравствуйте! у меня возникла следующая проблема. Когда мы объявляем

Код: Выделить всё

import android.content.DialogInterface.OnClickListener;
уже не можем использовать

Код: Выделить всё

import android.view.View.OnClickListener;
Я программно создаю кнопку т.е. не могу в XML указать метод обработки нажатия и мне нужно установить обработчик нажатия на нее txtNameAddGamer.setOnClickListener(), но этого сделать не могу, т.к. OnClickListener myClickListener = new OnClickListener() создает обработку нажатия DialogInterface и у него уже другие входящие параметры. Как быть?

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Урок 60. Диалоги. AlertDialog: Title, Message, Icon, But

Сообщение Mikhail_dev » 16 авг 2013, 13:32

import - это просто указание компилятору, где найти необходимую библиотеку и не более того. Пишите полный путь вида
android.view.View.OnClickListener myClickListener = new android.view.View.OnClickListener()
ну и другому также, а импорты вообще удалите, дабы не путаться.

Pomeo44
Сообщения: 5
Зарегистрирован: 14 авг 2013, 09:14

Re: Урок 60. Диалоги. AlertDialog: Title, Message, Icon, But

Сообщение Pomeo44 » 19 авг 2013, 09:11

Спасибо!

Digetix
Сообщения: 117
Зарегистрирован: 12 окт 2012, 15:31

Re: Урок 60. Диалоги. AlertDialog: Title, Message, Icon, But

Сообщение Digetix » 16 янв 2014, 00:52

Если в активити нужно будет несколько диалогов вызвать (около 8), можно ли создать некий "шаблон" диалога, вызывать его в разных частях активити, но подгружать разные строки (для названия диалога, названия кнопок) ?

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: Урок 60. Диалоги. AlertDialog: Title, Message, Icon, But

Сообщение klblk » 16 янв 2014, 07:32

Digetix писал(а):Если в активити нужно будет несколько диалогов вызвать (около 8), можно ли создать некий "шаблон" диалога, вызывать его в разных частях активити, но подгружать разные строки (для названия диалога, названия кнопок) ?
смотрите в сторону DialogFragment (http://startandroid.ru/ru/uroki/vse-uro ... ialog.html)
ну и а если через AlertDialog, хотите, то ничего не мешает вам создать функцию которая будет возвращать диалог.

Digetix
Сообщения: 117
Зарегистрирован: 12 окт 2012, 15:31

Re: Урок 60. Диалоги. AlertDialog: Title, Message, Icon, But

Сообщение Digetix » 16 янв 2014, 10:32

klblk писал(а):ну и а если через AlertDialog, хотите, то ничего не мешает вам создать функцию которая будет возвращать диалог.
А как реагировать на нажатия кнопки? То есть в диалоге две кнопки (например Да и Нет), вызываю этот диалог, в одном случае по нажатию кнопки Да нужно будет закрыть приложение, а в другом случае по нажатию Да перейти в другое активити, как это обработать?

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Урок 60. Диалоги. AlertDialog: Title, Message, Icon, But

Сообщение Mikhail_dev » 16 янв 2014, 10:33

Digetix писал(а):Если в активити нужно будет несколько диалогов вызвать (около 8), можно ли создать некий "шаблон" диалога, вызывать его в разных частях активити, но подгружать разные строки (для названия диалога, названия кнопок) ?
Можно. Я так и делал поначалу. А потом из-за невозможности поддержки кода, класс с диалогами из 2000 строк выбросил на помойку, который писал очень долго. Сейчас же делаю фрагменты вместо диалогов.
а в другом случае по нажатию Да перейти в другое активити
Берете и переходите в другое активити, в чем проблема? Вы не знаете как в активити другое переходить?

Digetix
Сообщения: 117
Зарегистрирован: 12 окт 2012, 15:31

Re: Урок 60. Диалоги. AlertDialog: Title, Message, Icon, But

Сообщение Digetix » 16 янв 2014, 11:55

m090050 писал(а):Берете и переходите в другое активити, в чем проблема? Вы не знаете как в активити другое переходить?
Как переходить из одного активити в другое я знаю. Вопрос в том, что как узнать какую кнопку из двух нажал пользователь?
m090050 писал(а):Сейчас же делаю фрагменты вместо диалогов.
А можете показать пример? А то я пробовал делать фрагментДиалог, но не разобрался что от чего наследуется и какой контекст у диалога + опять же не знаю как узнать какие кнопки нажал пользователь, чтоб реагировать на действия

И плюс хочу этот диалог сделать кастомным

Ответить