Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.82
korol_lion
0 / 0 / 0
Регистрация: 06.04.2013
Сообщений: 98
06.04.2013, 15:39     Устаревший метод showDialog() в DatePickerDialog #1
Я изучаю только андроид и у меня возникла проблема. Мой 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();
 
}
};
 
 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
06.04.2013, 16:53     Устаревший метод showDialog() в DatePickerDialog #2
http://developer.android.com/guide/t...i/dialogs.html
здесь все написано.

а вообще когда вы наводите курсор на ошибку должен появится попап в котором можно отключить проверку этого.
Vladimirys
292 / 189 / 19
Регистрация: 16.01.2010
Сообщений: 527
06.04.2013, 18:35     Устаревший метод showDialog() в DatePickerDialog #3
Можно и не юзать фрагменты, тем более, что они недоступны на версии ниже 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). В смысле писанины больше нужно.
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
06.04.2013, 18:41     Устаревший метод showDialog() в DatePickerDialog #4
Vladimirys, об суппорт лайбрери не слыхали?
http://developer.android.com/tools/e...t-library.html
Vladimirys
292 / 189 / 19
Регистрация: 16.01.2010
Сообщений: 527
06.04.2013, 18:46     Устаревший метод showDialog() в DatePickerDialog #5
Слыхали, но это опять "огород", и писанина. Это если сравнить с реальной жизнью - заделать входную дверь, и "для удобства" прорубить дырку на крыше и приставить лестницу. Хотя опять же -ИМХО.
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
06.04.2013, 18:49     Устаревший метод showDialog() в DatePickerDialog #6
Цитата Сообщение от Vladimirys Посмотреть сообщение
Слыхали, но это опять "огород", и писанина.
не понимаю о чем вы, просто подключаете либу и пользуетесь фрагментами как обычно, сейчас эклипс ее автоматически добавляет.
Vladimirys
292 / 189 / 19
Регистрация: 16.01.2010
Сообщений: 527
07.04.2013, 02:44     Устаревший метод showDialog() в DatePickerDialog #7
Вот смотрите, нужно просто подключить либу, просто использовать фрагменты, которые сами по себе, для использования требуют больше кода (больше кода, больше вероятность ошибки). Или же сделать так как я предложил выше, без либы, без фрагментов. И разницы особо не видно, когда функциональность фрагментов не нужна. А для простого диалога типа Сохранить? Да\Нет, она, функциональность и не нужна. Но если брать на перспективу, то конечно, нужно знать и использовать фрагменты.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2013, 14:29     Устаревший метод showDialog() в DatePickerDialog
Еще ссылки по теме:

Android Неправильный метод
Android Вид DatePickerDialog
Android Прозрачный showDialog
Android Изменение стилей для элементов showDialog
Метод подбора (8) Android

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

Или воспользуйтесь поиском по форуму:
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
07.04.2013, 14:29     Устаревший метод showDialog() в DatePickerDialog #8
ну, документацию не дураки писали...
Yandex
Объявления
07.04.2013, 14:29     Устаревший метод showDialog() в DatePickerDialog
Ответ Создать тему
Опции темы

Текущее время: 01:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru