Home >> Miscellaneous
In this tutorial we shall be covering Android's DatePickerDialog API with the help
of an example.
Final screen of this DatePickerDialog example would look like the below image:
In the following section I shall be covering through various files I coded/used
to get this example working. This example has only two views such as a EditView
and a DatePickerDialog widget from Android API.
Following is the main layout of this example.
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout android:layout_width="fill_parent"
android:id="@+id/linearLayout1"
android:layout_height="wrap_content">
<EditText android:text=""
android:minWidth="20dip"
android:id="@+id/textView1"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:width="150dip"
android:height="40dip">
</EditText>
<Button android:text="Calendar"
android:layout_width="wrap_content"
android:id="@+id/button1"
android:layout_height="wrap_content"
android:height="40dip"></Button>
</LinearLayout>
</LinearLayout>
|
Below file will give you some additional information like which
version of Android API I am using for this example, such as
minSdkVersion, intent-filters, activity name etc.
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.techienjoy.alertdialog.example"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="7" />
<application android:icon="@drawable/icon"
android:label="@string/app_name">
<activity android:name=".AlertDialogsExample"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
|
AlertDialogsExample.java
package com.techienjoy.alertdialog.example;
import java.util.Calendar;
import java.util.StringTokenizer;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
public class AlertDialogsExample extends Activity {
private EditText txtView;
private String initialDate;
private String initialMonth;
private String initialYear;
private DatePickerDialog dialog = null;
Context context;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn = (Button) findViewById(R.id.button1);
txtView = (EditText) findViewById(R.id.textView1);
context = getApplicationContext();
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Calendar dtTxt = null;
String preExistingDate = (String) txtView.getText().toString();
if(preExistingDate != null && !preExistingDate.equals("")){
StringTokenizer st = new StringTokenizer(preExistingDate,"/");
initialMonth = st.nextToken();
initialDate = st.nextToken();
initialYear = st.nextToken();
if(dialog == null)
dialog = new DatePickerDialog(v.getContext(),
new PickDate(),Integer.parseInt(initialYear),
Integer.parseInt(initialMonth)-1,
Integer.parseInt(initialDate));
dialog.updateDate(Integer.parseInt(initialYear),
Integer.parseInt(initialMonth)-1,
Integer.parseInt(initialDate));
} else {
dtTxt = Calendar.getInstance();
if(dialog == null)
dialog = new DatePickerDialog(v.getContext(),new PickDate(),dtTxt.getTime().getYear(),dtTxt.getTime().getMonth(),
dtTxt.getTime().getDay());
dialog.updateDate(dtTxt.getTime().getYear(),dtTxt.getTime().getMonth(),
dtTxt.getTime().getDay());
}
dialog.show();
}
});
}
private class PickDate implements DatePickerDialog.OnDateSetListener {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
view.updateDate(year, monthOfYear, dayOfMonth);
txtView.setText(monthOfYear+"/"+dayOfMonth+"/"+year);
dialog.hide();
}
}
}
|
Above source code is just to accomplish this example and get working as
soon as possible.
DatePickerDialog widget from Android API can be used as it is as I have
shown in the source code above. inner class PickDate is used for receiving
any callback on date set button is clicked.
If you would like to share your thoughts on this, please write to us @
usingframeworks @ gmail dot com
If anything missed out , please let me know at
techienjoy at yahoo . com
|
|
| Android Examples : |
List of ANDROid examples
with source code and output
screens captured and shown.
|
|
|
|
|
|
|
| Android ListView Example : |
Example on Android ListView
explained with a very simple scenario
whereby showing folder and files with
structure and appropriate screens
captured and shown.
|
|
|
|
| Android Sensors Example : |
Example on Android Sensors Listed and
explained with a very simple scenario
and article with appropriate screens
captured and shown.
|
|
|
|
| Google GWT Example : |
Example using GWT and some design patterns and various
ways of implementing this example.
|
|
|
|
|
|
|
| Android ListView Example : |
Example on Android ListView and
explained with a very simple scenario
and article with appropriate screens
captured and shown.
|
|
|
|
|
|
|
|
| Android Gallery Example : |
Example on Android Gallery View
explained with a very simple scenario
and appropriate screens captured and shown.
|
|
|
| Android Tab View Example : |
Example on Android Tab View
explained with a very simple scenario
and appropriate screens captured and shown.
|
|
|
|
|
|
|
|
|
| Android ListView Example : |
Example on Android List View
explained with a very simple scenario
and article with appropriate screens
captured and shown.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|