您的位置:首页 > 其它

DatepickerDialog与TimepickerDialog使用

2017-02-27 18:57 417 查看
由于两个控件相似,实现功能也比较简单,就把他们写在一起了,直接上代码

<1.XML布局文件>

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout 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:orientation="vertical">

    <Button

        android:layout_width="match_parent"

        android:layout_height="60dp"

        android:text="点我显示日期"

        android:textSize="20.0sp"

        android:gravity="center"

        android:id="@+id/date" />

    <Button

        android:layout_width="match_parent"

        android:layout_height="60dp"

        android:text="点我显示时间"

        android:textSize="20.0sp"

        android:gravity="center"

        android:id="@+id/time" />

</LinearLayout>

<2.源代码>

public class MainActivity extends AppCompatActivity implements View.OnClickListener{

    private DatePickerDialog datePickerDialog;

    private TimePickerDialog timePickerDialog;

    private Button data,time;

    private int year,month,date,hour,min;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        init();

        data.setOnClickListener(this);

        time.setOnClickListener(this);

    }

    //实例化控件

    private void init(){

        data= (Button) findViewById(R.id.date);

        time= (Button) findViewById(R.id.time);

    }

    @Override

    public void onClick(View v) {

        switch (v.getId()){

            case R.id.date:

                shoawdate();

                break;

            case R.id.time:

                showTime();

                break;

        }

    }

    private void shoawdate(){

        //得到当前的年、月、日

        year= Calendar.getInstance().get(Calendar.YEAR);

        month=Calendar.getInstance().get(Calendar.MONTH);

        date=Calendar.getInstance().get(Calendar.DAY_OF_MONTH);

        //把得到的当前年、月、日传过去

        datePickerDialog=new DatePickerDialog(MainActivity.this,new dataDialog(),year,month,date);

        //别忘了要显示该Dialog,调用show();

        datePickerDialog.show();

    }

    //创建内部类实现日期组件接口

    private class dataDialog implements DatePickerDialog.OnDateSetListener{

        @Override

        public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {

            //把今天的日期显示在日期按钮上

            data.setText(year+"年"+(monthOfYear+1)+"月"+dayOfMonth+"日");

        }

    }

    private void showTime(){

        //得到当前的时间,小时和分钟

        hour=Calendar.getInstance().get(Calendar.HOUR_OF_DAY);

        min=Calendar.getInstance().get(Calendar.MINUTE);

        //把得到的当前小时、分钟传过去

        timePickerDialog=new TimePickerDialog(MainActivity.this,new TimeDialog(),hour,min,false);

        //别忘了要显示该Dialog,调用show();

        timePickerDialog.show();

    }

    //创建内部类实现时间组件接口

    private class TimeDialog implements TimePickerDialog.OnTimeSetListener{

        @Override

        public void onTimeSet(TimePicker view, int hourOfDay, int minute) {

            //把现在的时间显示在时间按钮上

            time.setText("现在的时间是"+hourOfDay+":"+minute);

        }

    }

}

基本代码就这些,希望对你有所帮助!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: