Полезные примеры Android

Полезные примеры Android
Android — Выбор даты

Android Date Picker позволяет вам выбрать дату, состоящую из дня, месяца и года, в вашем пользовательском интерфейсе. Для этой функциональности Android предоставляет компоненты DatePicker и DatePickerDialog.

В этом руководстве мы собираемся продемонстрировать использование Date Picker с помощью DatePickerDialog. DatePickerDialog — это простой диалог, содержащий DatePicker.

Чтобы показать DatePickerDialog, вы должны передать идентификатор DatePickerDialog методу showDialog (id_of_dialog) . Его синтаксис приведен ниже —

showDialog(999);

При вызове этого метода showDialog автоматически вызывается другой метод, называемый onCreateDialog . Таким образом, мы также должны переопределить этот метод. Его синтаксис приведен ниже —

@Override
protected Dialog onCreateDialog(int id) {
// TODO Auto-generated method stub
if (id == 999) {
return new DatePickerDialog(this, myDateListener, year, month, day);
}
return null;
}

На последнем шаге вы должны зарегистрировать слушателя DatePickerDialog и переопределить его метод onDateSet. Этот метод onDateSet содержит обновленные день, месяц и год. Его синтаксис приведен ниже —

private DatePickerDialog.OnDateSetListener myDateListener = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker arg0, int arg1, int arg2, int arg3) {
// arg1 = year
// arg2 = month
// arg3 = day		
}
};

Установить дату

Помимо атрибутов даты формы, в эту функцию также передается объект DatePicker. Вы можете использовать следующие методы DatePicker для выполнения дальнейшей операции.

Sr.No Метод и описание
1

getDayOfMonth ()

Этот метод получает выбранный день месяца

2

getMonth ()

Этот метод получает выбранный месяц

3

getYear ()

Этот метод получает выбранный год

4

setMaxDate (длинный maxDate)

Этот метод устанавливает максимальную дату, поддерживаемую этим DatePicker в миллисекундах, с 00:00:00 1 января 1970 г. в часовом поясе getDefault ().

5

setMinDate (длинная minDate)

Этот метод устанавливает минимальную дату, поддерживаемую этим NumberPicker в миллисекундах с 1 января 1970 г. 00:00:00 в часовом поясе getDefault ().

6

setSpinnersShown (показано логическое значение)

Этот метод устанавливает, отображаются ли счетчики

7

updateDate (int год, int месяц, int dayOfMonth)

Этот метод обновляет текущую дату

8

getCalendarView ()

Этот метод возвращает представление календаря

9

getFirstDayOfWeek ()

Этот метод возвращает первый день недели

пример

Вот пример, демонстрирующий использование класса DatePickerDialog. Он создает базовое приложение Date Picker, которое позволяет вам устанавливать дату с помощью виджета DatePicker.

Чтобы поэкспериментировать с этим примером, вы можете запустить это на реальном устройстве или в эмуляторе.

Шаги Описание
1 Вы будете использовать студию Android, чтобы создать приложение Android и назовите его DatePicker в пакете com.example.datepicker.
2 Измените файл src / MainActivity.java, чтобы добавить необходимый код.
3 Измените res / layout / activity_main, чтобы добавить соответствующие компоненты XML.
4 Измените файл res / values ​​/ string.xml, чтобы добавить необходимые строковые компоненты.
5 Запустите приложение, выберите работающее устройство Android, установите на него приложение и проверьте результаты.

Ниже приводится содержимое измененного файла основного действия src / com.example.datepicker / MainActivity.java .

package com.example.datepicker;
import java.util.Calendar;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.DatePicker;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
private DatePicker datePicker;
private Calendar calendar;
private TextView dateView;
private int year, month, day;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dateView = (TextView) findViewById(R.id.textView3);
calendar = Calendar.getInstance();
year = calendar.get(Calendar.YEAR);
month = calendar.get(Calendar.MONTH);
day = calendar.get(Calendar.DAY_OF_MONTH);
showDate(year, month+1, day);
}
@SuppressWarnings("deprecation")
public void setDate(View view) {
showDialog(999);
Toast.makeText(getApplicationContext(), "ca", 
Toast.LENGTH_SHORT)
.show();
}
@Override
protected Dialog onCreateDialog(int id) {
// TODO Auto-generated method stub
if (id == 999) {
return new DatePickerDialog(this, 
myDateListener, year, month, day);
}
return null;
}
private DatePickerDialog.OnDateSetListener myDateListener = new 
DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker arg0, 
int arg1, int arg2, int arg3) {
// TODO Auto-generated method stub
// arg1 = year
// arg2 = month
// arg3 = day
showDate(arg1, arg2+1, arg3);
}
};
private void showDate(int year, int month, int day) {
dateView.setText(new StringBuilder().append(day).append("/")
.append(month).append("/").append(year));
}
}

Ниже приводится измененное содержимое файла xml res / layout / activity_main.xml .

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="70dp"
android:onClick="setDate"
android:text="@string/date_button_set" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="24dp"
android:text="@string/date_label_set"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/button1"
android:layout_marginTop="66dp"
android:layout_toLeftOf="@+id/button1"
android:text="@string/date_view_set"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/button1"
android:layout_below="@+id/textView2"
android:layout_marginTop="72dp"
android:text="@string/date_selected"
android:textAppearance="?android:attr/textAppearanceMedium" />
</RelativeLayout>

Ниже приводится содержимое файла res / values ​​/ string.xml .

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">DatePicker</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
<string name="date_label_set">Press the button to set the date</string>
<string name="date_button_set">Set Date</string>
<string name="date_view_set">The Date is: </string>
<string name="date_selected"></string>
</resources>

Давайте попробуем запустить наше только что модифицированное приложение DatePicker. Я предполагаю, что вы создали свой AVD при настройке среды. Чтобы запустить приложение из Eclipse, откройте один из файлов активности проекта и щелкните Значок запуска Eclipseзначок « Выполнить» на панели инструментов. Eclipse устанавливает приложение на ваш AVD и запускает его, и если с вашей настройкой и приложением все в порядке, оно отобразит следующее окно эмулятора —

Руководство по выбору даты для Android

Теперь вы можете видеть, что дата уже установлена ​​на нижней метке. Теперь изменим дату через DatePickerDialog, нажав кнопку Set Date. При нажатии кнопки появится следующий экран.

Руководство по выбору даты для Android

Теперь установите нужную дату, и после установки даты нажмите кнопку Готово. Это диалоговое окно исчезнет, ​​и ваша новая установленная дата начнет отображаться на экране. Это показано ниже.

Руководство по выбору даты для Android

Select the fields to be shown. Others will be hidden. Drag and drop to rearrange the order.
  • Image
  • SKU
  • Rating
  • Price
  • Stock
  • Availability
  • Add to cart
  • Description
  • Content
  • Weight
  • Dimensions
  • Additional information
  • Attributes
  • Custom attributes
  • Custom fields
Click outside to hide the compare bar
Compare