diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 18:28:45 -0800 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 18:28:45 -0800 |
commit | d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 (patch) | |
tree | 4b825dc642cb6eb9a060e54bf8d69288fbee4904 /docs/html/guide/tutorials/views/hello-timepicker.jd | |
parent | 076357b8567458d4b6dfdcf839ef751634cd2bfb (diff) | |
download | frameworks_base-d83a98f4ce9cfa908f5c54bbd70f03eec07e7553.zip frameworks_base-d83a98f4ce9cfa908f5c54bbd70f03eec07e7553.tar.gz frameworks_base-d83a98f4ce9cfa908f5c54bbd70f03eec07e7553.tar.bz2 |
auto import from //depot/cupcake/@135843
Diffstat (limited to 'docs/html/guide/tutorials/views/hello-timepicker.jd')
-rw-r--r-- | docs/html/guide/tutorials/views/hello-timepicker.jd | 159 |
1 files changed, 0 insertions, 159 deletions
diff --git a/docs/html/guide/tutorials/views/hello-timepicker.jd b/docs/html/guide/tutorials/views/hello-timepicker.jd deleted file mode 100644 index 1a6c8f9..0000000 --- a/docs/html/guide/tutorials/views/hello-timepicker.jd +++ /dev/null @@ -1,159 +0,0 @@ -page.title=Hello, TimePicker -parent.title=Hello, Views -parent.link=index.html -@jd:body - -<p>A {@link android.widget.TimePicker} is a widget that allows the -user to select the time by hour, minute and AM or PM.</p> - - -<ol> - <li>Start a new project/Activity called HelloTimePicker.</li> - <li>Open the layout file and make it like so: - <pre> -<?xml version="1.0" encoding="utf-8"?> -<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:orientation="vertical"> - - <TextView android:id="@+id/timeDisplay" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text=""/> - - <Button android:id="@+id/pickTime" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="Change the time"/> - -</LinearLayout> -</pre> - <p>For the layout, we're using a vertical LinearLayout, with a {@link android.widget.TextView} that - will display the time and a {@link android.widget.Button} that will initiate the - {@link android.widget.TimePicker} dialog. - With this layout, the TextView will sit above the Button. - The text value in the TextView is set empty, as it will be filled by our Activity - with the current time.</p> - </li> - - <li>Open HelloTimePicker.java. Insert the following to the HelloTimePicker class: -<pre> -private TextView mTimeDisplay; -private Button mPickTime; - -private int mHour; -private int mMinute; - -static final int TIME_DIALOG_ID = 0; - -@Override -protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.main); - - // capture our View elements - mTimeDisplay = (TextView) findViewById(R.id.timeDisplay); - mPickTime = (Button) findViewById(R.id.pickTime); - - // add a click listener to the button - mPickTime.setOnClickListener(new View.OnClickListener() { - public void onClick(View v) { - showDialog(TIME_DIALOG_ID); - } - }); - - // get the current time - final Calendar c = Calendar.getInstance(); - mHour = c.get(Calendar.HOUR_OF_DAY); - mMinute = c.get(Calendar.MINUTE); - - // display the current date - updateDisplay(); -} -</pre> -<p class="note"><strong>Tip:</strong> Press Ctrl(or Cmd) + Shift + O to import all needed packages.</p> - <p>We start by instantiating variables for our View elements and time fields. - The <code>TIME_DIALOG_ID</code> is a static integer that uniquely identifies the dialog. In the - <code>onCreate()</code> method, we get prepared by setting the layout and capturing the View elements. - We then set an on-click listener for the Button, so that when it is clicked, it will - show our TimePicker dialog. The <code>showDialog()</code> method will perform a callback - to our Activity. (We'll define this callback in the next section.) We then create an - instance of {@link java.util.Calendar} and get the current hour and minute. Finally, we call - <code>updateDisplay()</code>—our own method that will fill the TextView with the time.</p> -</li> - -<li>After the <code>onCreate()</code> method, add the <code>onCreateDialog()</code> callback method: -<pre> -@Override -protected Dialog onCreateDialog(int id) { - switch (id) { - case TIME_DIALOG_ID: - return new TimePickerDialog(this, - mTimeSetListener, mHour, mMinute, false); - } - return null; -} -</pre> - <p>This is passed the identifier we gave <code>showDialog()</code> and initializes - the TimePicker to the time we retrieved from our Calendar instance. It will be called by - <code>showDialog()</code>.</p> -</li> - -<li>Now add our <code>updateDisplay()</code> method: -<pre> -// updates the time we display in the TextView -private void updateDisplay() { - mTimeDisplay.setText( - new StringBuilder() - .append(pad(mHour)).append(":") - .append(pad(mMinute))); -} -</pre> - <p>This simply takes our member fields for the time and inserts them in - the <code>mTimeDisplay</code> TextView. Note that we call a new method, <code>pad()</code>, - on the hour and minute. (We'll create this method in the last step.)</p> -</li> - -<li>Next, add a listener to be called when the time is reset: -<pre> -// the callback received when the user "sets" the time in the dialog -private TimePickerDialog.OnTimeSetListener mTimeSetListener = - new TimePickerDialog.OnTimeSetListener() { - public void onTimeSet(TimePicker view, int hourOfDay, int minute) { - mHour = hourOfDay; - mMinute = minute; - updateDisplay(); - } - }; -</pre> - <p>Now when the user is done setting the time (clicks the "Set" button), we update our member fields with - the new time and update our TextView.</p> -</li> -<li>Finally, add the <code>pad()</code> method that we called from the <code>updateDisplay()</code>: -<pre> -private static String pad(int c) { - if (c >= 10) - return String.valueOf(c); - else - return "0" + String.valueOf(c); -} -</pre> - <p>This method returns the appropriate String representation of the hour or minute. - It will prefix a zero to the number if it's a single digit. - </p> -</li> - -<li>Now run it.</li> -</ol> -<p>When you press the "Change the time" button, you should see the following:</p> -<img src="images/hello-timepicker.png" width="150px" /> - -<h3>References</h3> -<ol> - <li>{@link android.widget.TimePicker}</li> - <li>{@link android.widget.Button}</li> - <li>{@link android.widget.TextView}</li> - <li>{@link java.util.Calendar}</li> -</ol> - |