С Новым годом! Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/25: Рейтинг темы: голосов - 25, средняя оценка - 4.80
4 / 4 / 2
Регистрация: 06.04.2013
Сообщений: 182

Устаревший метод showDialog() в DatePickerDialog

06.04.2013, 15:39. Показов 5138. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я изучаю только андроид и у меня возникла проблема. Мой eclipse показывает что метод showDialog() устарел и не хочет запускать программу в эмуляторе (пробовала и андроид версии 4.2 и 2.2). Пыталась пробовать по новому с фрагментами, но для меня сейчас это темный лес да и там все по английски. Помогите пожалуйста изменить код на новый с фрагментами как полагается, потому что часто использую метод showDialog(). Заранее спасибо. Код прилагается ниже.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
package com.samples.datepickerdialog;
 
import java.util.Calendar;
 
import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TextView;
 
public class MainActivity extends Activity {
private TextView mDateDisplay;
private Button mButton;
private int mYear;
private int mMonth;
private int mDay;
static final int IDD_DATE = 0;
 
 
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
 
mDateDisplay = (TextView)findViewById(R.id.text);
mButton = (Button)findViewById(R.id.button);
 
mButton.setOnClickListener(new View.OnClickListener() {
 
@Override
public void onClick(View v) {
showDialog(IDD_DATE);
 
}
});
 
final Calendar c = Calendar.getInstance();
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_YEAR);
updateDisplay();
}
 
protected Dialog onCreateDialog(int id){
switch(id) {
case IDD_DATE:
return new DatePickerDialog(this, mDateSetListener, mYear, mMonth, mDay);
}
return null;
}
 
private void updateDisplay(){
mDateDisplay.setText(new StringBuilder()
.append(mMonth+1).append("-")
.append(mDay).append("-")
.append(mYear).append("-"));
}
 
private DatePickerDialog.OnDateSetListener mDateSetListener
= new DatePickerDialog.OnDateSetListener() {
 
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
mYear = year;
mMonth = monthOfYear;
mDay = dayOfMonth;
updateDisplay();
 
}
};
 
 
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.04.2013, 15:39
Ответы с готовыми решениями:

DatePickerDialog
Добрый день! Ребят не могу сообразить. ... public void onClick(View v) { if (v == btnCalendarFirst) { ...

Вид DatePickerDialog
Всем привет! Столкнулся с необходимостью при нажатии кнопки выводить DatePickerDialog, как в документации: Но при выводе...

DatePickerDialog на нескольких обработчиках событий
Здравствуйте! Помогите разобраться: есть активити, на котором два button'а, один из них уже создает DatePickerDialog, а как можно со ...

7
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
06.04.2013, 16:53
http://developer.android.com/g... alogs.html
здесь все написано.

а вообще когда вы наводите курсор на ошибку должен появится попап в котором можно отключить проверку этого.
0
349 / 240 / 34
Регистрация: 16.01.2010
Сообщений: 766
06.04.2013, 18:35
Можно и не юзать фрагменты, тем более, что они недоступны на версии ниже API 11. Сделав такой "финт ушами"
"гуловцы" фактически намекнули на то, что все это барахло, что ниже 11 API уже не в моде.
Но вернемся к диалогам. Можно сделать так и все будет работать.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
AlertDialog.Builder builder = new AlertDialog.Builder(
                    MainActivity.this);
 
            builder.setMessage("")
 
            .setTitle("")
 
            .setPositiveButton("", new DialogInterface.OnClickListener() {
 
                public void onClick(DialogInterface dialog, int id) {
 
                    finish();
 
                    dialog.dismiss();
 
                }
 
            })
 
            .setNegativeButton("", new DialogInterface.OnClickListener() {
 
                public void onClick(DialogInterface dialog, int which) {
 
                    dialog.dismiss();
 
                }
 
            });
 
            AlertDialog alert = builder.create();
 
            alert.show();
 
            return true;
 
        }
У фрагментов так же не все просто с .setCancelable(false). В смысле писанины больше нужно.
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
06.04.2013, 18:41
Vladimirys, об суппорт лайбрери не слыхали?
http://developer.android.com/t... brary.html
0
349 / 240 / 34
Регистрация: 16.01.2010
Сообщений: 766
06.04.2013, 18:46
Слыхали, но это опять "огород", и писанина. Это если сравнить с реальной жизнью - заделать входную дверь, и "для удобства" прорубить дырку на крыше и приставить лестницу. Хотя опять же -ИМХО.
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
06.04.2013, 18:49
Цитата Сообщение от Vladimirys Посмотреть сообщение
Слыхали, но это опять "огород", и писанина.
не понимаю о чем вы, просто подключаете либу и пользуетесь фрагментами как обычно, сейчас эклипс ее автоматически добавляет.
0
349 / 240 / 34
Регистрация: 16.01.2010
Сообщений: 766
07.04.2013, 02:44
Вот смотрите, нужно просто подключить либу, просто использовать фрагменты, которые сами по себе, для использования требуют больше кода (больше кода, больше вероятность ошибки). Или же сделать так как я предложил выше, без либы, без фрагментов. И разницы особо не видно, когда функциональность фрагментов не нужна. А для простого диалога типа Сохранить? Да\Нет, она, функциональность и не нужна. Но если брать на перспективу, то конечно, нужно знать и использовать фрагменты.
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
07.04.2013, 14:29
ну, документацию не дураки писали...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.04.2013, 14:29
Помогаю со студенческими работами здесь

DatePickerDialog формат выбранной даты
Добрый день. Подскажите пожалуйста как изменить формат даты после выбора в диалоге. На данный момент у меня 12 октября 2017г. выходит. ...

Передать значение DatePickerDialog в другой класс
Здравствуйте! У меня есть два активити в первом, по нажатию button у меня всплывает датадиалог, в котором я выбираю дату, а потом мне...

Перед вызовом активити, вызвать DatePickerDialog
Всем Здравствуйте! У меня есть button, который вызывает активити, надо на это button повесить еще вызов DatePickerDialog и потом...

Tcplistener(port) ругается устаревший метод
Tcplistener(port) ругается устаревший метод, вместо него предлагает использовать tcplistener (ip,port), если у меня один ip, насколько...

Пометить метод как устаревший через коментарий
Всем привет! Подскажите пожалуйста как в visual Studio 2015 пометить метод на C# как устаревший, чтоб в выпадающем списке при его...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru