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.
gitProject1/01src/net/micode/notes/ui/DateTimePickerDialog.java.html

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 &quot;License&quot;);
* 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 &quot;AS IS&quot; 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>