写了一个简单的设置日期时间的例子,希望大家一起学习
activity_main.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/dateBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="日期" />
<Button
android:id="@+id/timeBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="时间" />
<TextView
android:id="@+id/show"
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="center"
android:text="TextView" />
</LinearLayout>
MainActivity文件:
package com.example.zdatedialogtest;
import java.util.Calendar;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TextView;
import android.widget.TimePicker;
import com.lidroid.xutils.ViewUtils;
import com.lidroid.xutils.view.annotation.ViewInject;
import com.lidroid.xutils.view.annotation.event.OnClick;
public class MainActivity extends Activity{
@ViewInject(R.id.dateBtn)
private Button dateBtn;
@ViewInject(R.id.timeBtn)
private Button timeBtn;
@ViewInject(R.id.show)
private TextView show;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
ViewUtils.inject(this);
}
@OnClick({R.id.dateBtn,R.id.timeBtn})
public void onClick(View v){
switch (v.getId()) {
case R.id.dateBtn:
getDate();
break;
case R.id.timeBtn:
getTime();
break;
}
}
public void getDate(){
Calendar calendar = Calendar.getInstance();
new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth) {
// TODO Auto-generated method stub
show.setText("您选择了:"+year+"年"+(monthOfYear+1)+"月"+dayOfMonth+"日");
}
}
, calendar.get(Calendar.YEAR)
, calendar.get(Calendar.MONTH)
, calendar.get(Calendar.DAY_OF_MONTH)).show();
}
public void getTime(){
Calendar calendar = Calendar.getInstance();
new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
// TODO Auto-generated method stub
show.setText("您选择了:"+hourOfDay+"时"+minute+"分");
}
}
, calendar.get(Calendar.HOUR_OF_DAY)
, calendar.get(Calendar.MINUTE)
, true).show();
}
}
代码贴出来了,逻辑很清楚,特别是getDate和getTime这两个函数的方法有推广的意义,可以适用于别的代码,多加练习