天天看點

Android之DatePickerDialog用法(月曆的用法)

該方法實作的調用系統Api,和android的版本,手機的牌子有關,實作不同的界面。不一定是入下圖所示:

Android之DatePickerDialog用法(月曆的用法)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/text01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="查詢日期:"
android:textSize="18sp"
/>
<TextView
android:id="@+id/tvDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/text01"
android:layout_alignLeft="@id/text01"
/>
<Button
android:id="@+id/btnDatePicker"
android:text="編輯"
android:layout_toRightOf="@id/tvDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="show"
android:layout_alignTop="@id/tvDate"
/>
</RelativeLayout>      
package com.turboradio;
 
import java.text.SimpleDateFormat;
import java.util.Calendar;
 
import android.app.Activity;
import android.app.DatePickerDialog;
import android.os.Bundle;
import android.view.View;
import android.widget.DatePicker;
import android.widget.TextView;
 
public class DatePickerActivity extends Activity {
private TextView tvDate;
private Calendar cal = Calendar.getInstance();
private DatePickerDialog.OnDateSetListener listener = new DatePickerDialog.OnDateSetListener() {
 
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth) {
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, monthOfYear);
cal.set(Calendar.DAY_OF_MONTH, dayOfMonth);
updateDate();
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.date_picker_dialog);
tvDate = (TextView)findViewById(R.id.tvDate);
 
}
public void show(View v){
new DatePickerDialog(DatePickerActivity.this,listener,
cal.get(Calendar.YEAR),
cal.get(Calendar.MONTH),
cal.get(Calendar.DAY_OF_MONTH)
).show();
}
private void updateDate(){
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
tvDate.setText(simpleDateFormat.format(cal.getTime()));
}
}