Урок 62. Диалоги. AlertDialog. Список

Обсуждение уроков
Аватара пользователя
Isaev
Сообщения: 145
Зарегистрирован: 03 сен 2013, 09:39
Откуда: Германия
Контактная информация:

Re: Урок 62. Диалоги. AlertDialog. Список

Сообщение Isaev » 24 окт 2013, 12:53

не пишет ошибку) там не дописана строка, я её указал как item=???
что туда надо вместо знаков вопроса дописать, чтобы получать имена выбранных пунктов?

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

Re: Урок 62. Диалоги. AlertDialog. Список

Сообщение Mikhail_dev » 24 окт 2013, 13:11

А, теперь понял, база данных является наполнителем. С ходу не скажу как это сделать.

Аватара пользователя
Isaev
Сообщения: 145
Зарегистрирован: 03 сен 2013, 09:39
Откуда: Германия
Контактная информация:

Re: Урок 62. Диалоги. AlertDialog. Список

Сообщение Isaev » 28 окт 2013, 13:58

видимо вот так:

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

cursor = db.getAllData();
cursor.moveToPosition(which); // тут у нас which это порядковый номер записи

а дальше как получить текст в item из поля "txt"?
item=cursor.???

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Урок 62. Диалоги. AlertDialog. Список

Сообщение Foenix » 28 окт 2013, 19:06

Isaev писал(а):видимо вот так:

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

cursor = db.getAllData();
cursor.moveToPosition(which); // тут у нас which это порядковый номер записи

а дальше как получить текст в item из поля "txt"?
item=cursor.???
урок 34

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

if (c.moveToFirst()) {

        // определяем номера столбцов по имени в выборке
        int idColIndex = c.getColumnIndex("id");
        int nameColIndex = c.getColumnIndex("name");
        int emailColIndex = c.getColumnIndex("email");

        do {
          // получаем значения по номерам столбцов и пишем все в лог
          Log.d(LOG_TAG,
              "ID = " + c.getInt(idColIndex) + 
              ", name = " + c.getString(nameColIndex) + 
              ", email = " + c.getString(emailColIndex));
          // переход на следующую строку 
          // а если следующей нет (текущая - последняя), то false - выходим из цикла
        } while (c.moveToNext());
      } else
        Log.d(LOG_TAG, "0 rows");
      c.close();
вначале получаем индекс колонки с данным именем, затем вытаскиваем данные.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
Isaev
Сообщения: 145
Зарегистрирован: 03 сен 2013, 09:39
Откуда: Германия
Контактная информация:

Re: Урок 62. Диалоги. AlertDialog. Список

Сообщение Isaev » 29 окт 2013, 10:45

Foenix писал(а):урок 34
Ну почти сам уже правильно допридумал :)
вроде недавно было и забыл уже, спс

aleksbim
Сообщения: 81
Зарегистрирован: 02 фев 2013, 02:52

Re: Урок 62. Диалоги. AlertDialog. Список

Сообщение aleksbim » 14 мар 2014, 10:44

Как заполнять таблицу при создании отдельного класса DB. Т.е. что писать в поле superclass? Или оставить java.lang.Object ?

Persik
Сообщения: 19
Зарегистрирован: 15 май 2014, 08:55

Re: Урок 62. Диалоги. AlertDialog. Список

Сообщение Persik » 11 дек 2014, 11:17

Добрый день. Я создала будильник в диалоговое окно со списком. Например: я выбрала время 6.30, при нажатии listview вызова диалога должно появиться окно AlertDialog со списком из множественных пунктов ("за 3 минут", "за 5 минут", "за 8 минут", и т.д.) для выбора будильника. Но как писать код будильник по каждому "за 3 минут" и "за 5 минут". Это возможно?

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

public class Day extends ListFragment{
		protected static final int RQS_1 = 0;
		String[] times =  { "06:30", "06:40"};
		final CharSequence[] mMinutes = {"за 3 минуты","за 5 минуты","за  8 минуты"};
	
		@Override
		 public void onCreate(Bundle savedInstanceState) {	  
		  super.onCreate(savedInstanceState);
		  TimeAdapter myListAdapter = new TimeAdapter(getActivity(), R.layout.text_fragment, times);
		  setListAdapter(myListAdapter);}
	
		 @Override
		 public View onCreateView(LayoutInflater inflater, ViewGroup container,
		  Bundle savedInstanceState) {	  
		  View v = inflater.inflate(R.layout.listview, container, false);
		  ListView lv = (ListView)v.findViewById(android.R.id.list);
		  return v;}

		 @Override
		    public void onListItemClick(ListView l, View v, int position, long id) {
			 super.onListItemClick(l, v, position, id);
			    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
		       
		            builder.setCancelable(true);
		            builder.setTitle("Будильник");
		            builder.setItems(mMinutes, new DialogInterface.OnClickListener() {
											
		@Override
		public void onClick(DialogInterface dialog, int which) {
		finish();
		Calendar today = Calendar.getInstance();
                Calendar cal = (Calendar) today.clone();
                cal.set(Calendar.HOUR_OF_DAY, cal.get(Calendar.HOUR_OF_DAY)+ 0);
		cal.set(Calendar.MINUTE, cal.get(Calendar.MINUTE) - 5);
		cal.set(Calendar.SECOND, 0);
			}
		});
		builder.show();
		}}
Вложения
alarm.png
alarm.png (19.26 КБ) 6084 просмотра

Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Re: Урок 62. Диалоги. AlertDialog. Список

Сообщение doter.ua » 11 дек 2014, 13:33

Как-то так:

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

onListItemClick...{
int min = 0;
   switch(pos){
       case 0:  { min = 3;  break;}
       case 1:  { min = 5;  break;}
       case 2:  { min = 8;  break;}
    }
    ...
    cal.set(Calendar.MINUTE, cal.get(Calendar.MINUTE) - min); 
}
Подправил.
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

Persik
Сообщения: 19
Зарегистрирован: 15 май 2014, 08:55

Re: Урок 62. Диалоги. AlertDialog. Список

Сообщение Persik » 25 дек 2014, 12:16

doter.ua писал(а):Как-то так:

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

onListItemClick...{
int min = 0;
   switch(pos){
       case 0:  { min = 3;  break;}
       case 1:  { min = 5;  break;}
       case 2:  { min = 8;  break;}
    }
    ...
    cal.set(Calendar.MINUTE, cal.get(Calendar.MINUTE) - min); 
}
Подправил.
Я тоже об этом думала, но мне кажется по-другому писать. Например: у меня список String[] times = { "06:30", "06:40"}, если я выбрала время проведения мероприятия 06:30 и мне нужно установить сигнализацию 3 минут раньше 06:27. А сейчас время показывает 06:00.

@Override
public void onClick(DialogInterface dialog, int which) {
Calendar today = Calendar.getInstance();
switch(which) {
case 0: {
today.add(Calendar.MINUTE, -5);
Intent myIntent = new Intent(DayActivity.this, AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getService(DayActivity.this, 0, myIntent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC, today.getTimeInMillis(),pendingIntent);
break;
}}}
Я добавила будильник и уведомления. Мне действительно нужна помощь. Я Вас очень прошу, помоги мне. У меня ничего не выходит...

Persik
Сообщения: 19
Зарегистрирован: 15 май 2014, 08:55

Re: Урок 62. Диалоги. AlertDialog. Список

Сообщение Persik » 16 янв 2015, 14:22

как добавить будильник уведомления. примерно такой
Вложения
Picture.png
Picture.png (78.98 КБ) 6014 просмотров

Ответить