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

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

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

Author24 — интернет-сервис помощи студентам
Я изучаю только андроид и у меня возникла проблема. Мой 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.04.2013, 15:39
Ответы с готовыми решениями:

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

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

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

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

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

а вообще когда вы наводите курсор на ошибку должен появится попап в котором можно отключить проверку этого.
0
349 / 240 / 34
Регистрация: 16.01.2010
Сообщений: 766
06.04.2013, 18:35 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). В смысле писанины больше нужно.
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
06.04.2013, 18:41 4
Vladimirys, об суппорт лайбрери не слыхали?
http://developer.android.com/t... brary.html
0
349 / 240 / 34
Регистрация: 16.01.2010
Сообщений: 766
06.04.2013, 18:46 5
Слыхали, но это опять "огород", и писанина. Это если сравнить с реальной жизнью - заделать входную дверь, и "для удобства" прорубить дырку на крыше и приставить лестницу. Хотя опять же -ИМХО.
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
06.04.2013, 18:49 6
Цитата Сообщение от Vladimirys Посмотреть сообщение
Слыхали, но это опять "огород", и писанина.
не понимаю о чем вы, просто подключаете либу и пользуетесь фрагментами как обычно, сейчас эклипс ее автоматически добавляет.
0
349 / 240 / 34
Регистрация: 16.01.2010
Сообщений: 766
07.04.2013, 02:44 7
Вот смотрите, нужно просто подключить либу, просто использовать фрагменты, которые сами по себе, для использования требуют больше кода (больше кода, больше вероятность ошибки). Или же сделать так как я предложил выше, без либы, без фрагментов. И разницы особо не видно, когда функциональность фрагментов не нужна. А для простого диалога типа Сохранить? Да\Нет, она, функциональность и не нужна. Но если брать на перспективу, то конечно, нужно знать и использовать фрагменты.
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
07.04.2013, 14:29 8
ну, документацию не дураки писали...
0
07.04.2013, 14:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.04.2013, 14:29
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru