You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
109 lines
7.0 KiB
109 lines
7.0 KiB
<html>
|
|
<head>
|
|
<title>DateTimePickerDialog.java</title>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
<style type="text/css">
|
|
.s0 { color: #8c8c8c; font-style: italic;}
|
|
.s1 { color: #080808;}
|
|
.s2 { color: #0033b3;}
|
|
.s3 { color: #1750eb;}
|
|
</style>
|
|
</head>
|
|
<body bgcolor="#ffffff">
|
|
<table CELLSPACING=0 CELLPADDING=5 COLS=1 WIDTH="100%" BGCOLOR="#c0c0c0" >
|
|
<tr><td><center>
|
|
<font face="Arial, Helvetica" color="#000000">
|
|
DateTimePickerDialog.java</font>
|
|
</center></td></tr></table>
|
|
<pre><span class="s0">/*
|
|
* Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net)
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/</span>
|
|
|
|
<span class="s2">package </span><span class="s1">net.micode.notes.ui;</span>
|
|
|
|
<span class="s2">import </span><span class="s1">java.util.Calendar;</span>
|
|
|
|
<span class="s2">import </span><span class="s1">net.micode.notes.R;</span>
|
|
<span class="s2">import </span><span class="s1">net.micode.notes.ui.DateTimePicker;</span>
|
|
<span class="s2">import </span><span class="s1">net.micode.notes.ui.DateTimePicker.OnDateTimeChangedListener;</span>
|
|
|
|
<span class="s2">import </span><span class="s1">android.app.AlertDialog;</span>
|
|
<span class="s2">import </span><span class="s1">android.content.Context;</span>
|
|
<span class="s2">import </span><span class="s1">android.content.DialogInterface;</span>
|
|
<span class="s2">import </span><span class="s1">android.content.DialogInterface.OnClickListener;</span>
|
|
<span class="s2">import </span><span class="s1">android.text.format.DateFormat;</span>
|
|
<span class="s2">import </span><span class="s1">android.text.format.DateUtils;</span>
|
|
|
|
<span class="s2">public class </span><span class="s1">DateTimePickerDialog </span><span class="s2">extends </span><span class="s1">AlertDialog </span><span class="s2">implements </span><span class="s1">OnClickListener {</span>
|
|
|
|
<span class="s2">private </span><span class="s1">Calendar mDate = Calendar.getInstance();</span>
|
|
<span class="s2">private boolean </span><span class="s1">mIs24HourView;</span>
|
|
<span class="s2">private </span><span class="s1">OnDateTimeSetListener mOnDateTimeSetListener;</span>
|
|
<span class="s2">private </span><span class="s1">DateTimePicker mDateTimePicker;</span>
|
|
|
|
<span class="s2">public interface </span><span class="s1">OnDateTimeSetListener {</span>
|
|
<span class="s2">void </span><span class="s1">OnDateTimeSet(AlertDialog dialog, </span><span class="s2">long </span><span class="s1">date);</span>
|
|
<span class="s1">}</span>
|
|
|
|
<span class="s2">public </span><span class="s1">DateTimePickerDialog(Context context, </span><span class="s2">long </span><span class="s1">date) {</span>
|
|
<span class="s2">super</span><span class="s1">(context);</span>
|
|
<span class="s1">mDateTimePicker = </span><span class="s2">new </span><span class="s1">DateTimePicker(context);</span>
|
|
<span class="s1">setView(mDateTimePicker);</span>
|
|
<span class="s1">mDateTimePicker.setOnDateTimeChangedListener(</span><span class="s2">new </span><span class="s1">OnDateTimeChangedListener() {</span>
|
|
<span class="s2">public void </span><span class="s1">onDateTimeChanged(DateTimePicker view, </span><span class="s2">int </span><span class="s1">year, </span><span class="s2">int </span><span class="s1">month,</span>
|
|
<span class="s2">int </span><span class="s1">dayOfMonth, </span><span class="s2">int </span><span class="s1">hourOfDay, </span><span class="s2">int </span><span class="s1">minute) {</span>
|
|
<span class="s1">mDate.set(Calendar.YEAR, year);</span>
|
|
<span class="s1">mDate.set(Calendar.MONTH, month);</span>
|
|
<span class="s1">mDate.set(Calendar.DAY_OF_MONTH, dayOfMonth);</span>
|
|
<span class="s1">mDate.set(Calendar.HOUR_OF_DAY, hourOfDay);</span>
|
|
<span class="s1">mDate.set(Calendar.MINUTE, minute);</span>
|
|
<span class="s1">updateTitle(mDate.getTimeInMillis());</span>
|
|
<span class="s1">}</span>
|
|
<span class="s1">});</span>
|
|
<span class="s1">mDate.setTimeInMillis(date);</span>
|
|
<span class="s1">mDate.set(Calendar.SECOND, </span><span class="s3">0</span><span class="s1">);</span>
|
|
<span class="s1">mDateTimePicker.setCurrentDate(mDate.getTimeInMillis());</span>
|
|
<span class="s1">setButton(context.getString(R.string.datetime_dialog_ok), </span><span class="s2">this</span><span class="s1">);</span>
|
|
<span class="s1">setButton2(context.getString(R.string.datetime_dialog_cancel), (OnClickListener)</span><span class="s2">null</span><span class="s1">);</span>
|
|
<span class="s1">set24HourView(DateFormat.is24HourFormat(</span><span class="s2">this</span><span class="s1">.getContext()));</span>
|
|
<span class="s1">updateTitle(mDate.getTimeInMillis());</span>
|
|
<span class="s1">}</span>
|
|
|
|
<span class="s2">public void </span><span class="s1">set24HourView(</span><span class="s2">boolean </span><span class="s1">is24HourView) {</span>
|
|
<span class="s1">mIs24HourView = is24HourView;</span>
|
|
<span class="s1">}</span>
|
|
|
|
<span class="s2">public void </span><span class="s1">setOnDateTimeSetListener(OnDateTimeSetListener callBack) {</span>
|
|
<span class="s1">mOnDateTimeSetListener = callBack;</span>
|
|
<span class="s1">}</span>
|
|
|
|
<span class="s2">private void </span><span class="s1">updateTitle(</span><span class="s2">long </span><span class="s1">date) {</span>
|
|
<span class="s2">int </span><span class="s1">flag =</span>
|
|
<span class="s1">DateUtils.FORMAT_SHOW_YEAR |</span>
|
|
<span class="s1">DateUtils.FORMAT_SHOW_DATE |</span>
|
|
<span class="s1">DateUtils.FORMAT_SHOW_TIME;</span>
|
|
<span class="s1">flag |= mIs24HourView ? DateUtils.FORMAT_24HOUR : DateUtils.FORMAT_24HOUR;</span>
|
|
<span class="s1">setTitle(DateUtils.formatDateTime(</span><span class="s2">this</span><span class="s1">.getContext(), date, flag));</span>
|
|
<span class="s1">}</span>
|
|
|
|
<span class="s2">public void </span><span class="s1">onClick(DialogInterface arg0, </span><span class="s2">int </span><span class="s1">arg1) {</span>
|
|
<span class="s2">if </span><span class="s1">(mOnDateTimeSetListener != </span><span class="s2">null</span><span class="s1">) {</span>
|
|
<span class="s1">mOnDateTimeSetListener.OnDateTimeSet(</span><span class="s2">this</span><span class="s1">, mDate.getTimeInMillis());</span>
|
|
<span class="s1">}</span>
|
|
<span class="s1">}</span>
|
|
|
|
<span class="s1">}</span></pre>
|
|
</body>
|
|
</html> |