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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.82
korol_lion
3 / 3 / 2
Регистрация: 06.04.2013
Сообщений: 122
#1

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

06.04.2013, 15:39. Просмотров 2288. Ответов 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();
 
}
};
 
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2013, 15:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Устаревший метод showDialog() в DatePickerDialog (Программирование Android):

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

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

.NET 4.x метод showdialog - C#
при нажатии на кнопку Size происходит открытие новой формы private void Size_Click(object sender, EventArgs e) { ...

Метод Form.ShowDialog() не приостанавливает работу потока - C#
Метод Form.ShowDialog() интересен для меня тем, что при его вызове в коде программа останавливается на этом методе и не идет по строкам,...

Не могу вызвать метод на выполнение на другой форме из-за того что она открыта через ShowDialog а не Show - C# WPF
Хочу вызвать метод на другой форме на выполнение при помощи делегата . Но не могу, так как использую вот такой вот переход на вторую форму...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
06.04.2013, 16:53 #2
http://developer.android.com/guide/t...i/dialogs.html
здесь все написано.

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

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

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

Устаревший запрос - PHP
Мой код: function connect_mysql($host,$database,$user,$password,$port=3306) { $dbh =...

__autoload устаревший? - PHP
недавно заметил: но ведь его многие используют) значит не рекомендовано использовать?


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
07.04.2013, 14:29
Ответ Создать тему
Опции темы

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