android设置时间日期

来源:互联网 发布:mac监控电脑 编辑:程序博客网 时间:2024/05/01 09:00

写了一个简单的设置日期时间的例子,希望大家一起学习

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这两个函数的方法有推广的意义,可以适用于别的代码,多加练习
































0 0