国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android時間對話框使用方法詳解

2019-10-22 18:30:13
字體:
來源:轉載
供稿:網友

一、簡介

Android,時間對話框,analogclock,digitalclock

二、方法

1)顯示TimePickerDialog方法

Android,時間對話框,analogclock,digitalclock

1、新建TimePickerDialog對象

TimePickerDialog timeDialog=new TimePickerDialog(this, new MyTimeSetListener(), 13, 30, true);

各個參數的含義如下:

Android,時間對話框,analogclock,digitalclock

說明一下:

第一個參數context就是這個控件顯示的父控件是什么,也就是這個控件顯示在哪個控件里面

第二個參數callback就是這個控件出現后,控件上面會有一個set或者done按鈕,你點這個按鈕之后調用的監聽,

所以在這里我寫的是一個監聽,new MyTimeSetListener(),這個監聽的來源如下:

public class MyTimeSetListener implements OnTimeSetListener{里面是重寫父類onTimeSet方法}

也就是實現的OnTimeSetListener的接口

其實你也可以直接用OnTimeSetListener的對象,代碼如下:

public OnTimeSetListener timeSetListener=newOnTimeSetListener(){里面是重寫父類onTimeSet方法}

2、調用TimePickerDialog對象的show()方法

timeDialog.show();

這個show方法不寫,屏幕是沒有反應的

2)顯示DatePickerDialog方法

Android,時間對話框,analogclock,digitalclock

方法和TimePickerDialog幾乎一模一樣,連方法說明都無比類似

Android,時間對話框,analogclock,digitalclock

如果不懂,直接看代碼實例

三、代碼實例

效果圖:

Android,時間對話框,analogclock,digitalclock

點解TimePickerDialog后

Android,時間對話框,analogclock,digitalclock

點擊done后

Android,時間對話框,analogclock,digitalclock

點擊“顯示DatePickerDialog”后

Android,時間對話框,analogclock,digitalclock

點擊Done后

Android,時間對話框,analogclock,digitalclock

代碼:

fry.Activity01

 

package fry;import com.example.Ex25ClockDemo.R;import android.app.Activity;import android.app.DatePickerDialog;import android.app.DatePickerDialog.OnDateSetListener;import android.app.TimePickerDialog;import android.app.TimePickerDialog.OnTimeSetListener;import android.os.Bundle;import android.text.method.DateTimeKeyListener;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.DatePicker;import android.widget.TimePicker;import android.widget.Toast;public class Activity01 extends Activity implements OnClickListener {  private Button btn_showTime;  private Button btn_showDate;  private TimePickerDialog timeDialog;  private DatePickerDialog dateDialog;  @Override  protected void onCreate(Bundle savedInstanceState) {    // TODO Auto-generated method stub    super.onCreate(savedInstanceState);    setContentView(R.layout.activity01);    btn_showTime = (Button) findViewById(R.id.btn_showTime);    btn_showDate = (Button) findViewById(R.id.btn_showDate);    btn_showTime.setOnClickListener(this);    btn_showDate.setOnClickListener(this);  }  /*   * 1)顯示TimePickerDialog方法   * 1、新建TimePickerDialog對象   * 2、調用TimePickerDialog對象的show()方法   *    * (non-Javadoc)   * @see android.view.View.OnClickListener#onClick(android.view.View)   */  @Override  public void onClick(View v) {    // TODO Auto-generated method stub    switch (v.getId()) {    case R.id.btn_showTime:      if(timeDialog==null)      //第二個參數是點設置之后回調的函數      timeDialog=new TimePickerDialog(this, new MyTimeSetListener(), 13, 30, true);      timeDialog.show();      break;    case R.id.btn_showDate:      if(dateDialog==null)      dateDialog=new DatePickerDialog(this, new MyDateSetListener(), 2017, 9-1, 9);      //這個show方法不寫,屏幕是沒有反應的      dateDialog.show();      break;    default:      break;    }  }  //用內部類實現參數  //設置時間的監聽器  public class MyTimeSetListener implements OnTimeSetListener{    @Override    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {      // TODO Auto-generated method stub      Toast.makeText(Activity01.this, "hourOfDay:"+hourOfDay+" minute"+minute,Toast.LENGTH_SHORT).show();    }  };    public class MyDateSetListener implements OnDateSetListener{    @Override    public void onDateSet(DatePicker view, int year, int monthOfYear,        int dayOfMonth) {      // TODO Auto-generated method stub      //這句話更像是為了測試什么時候調用了這個函數      Toast.makeText(Activity01.this, "year:"+year+" monthOfYear"+(monthOfYear+1)+" dayOfMonth"+dayOfMonth,Toast.LENGTH_SHORT).show();    }      }  }

/Ex25ClockDemo/res/layout/activity01.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" >  <AnalogClock     android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:dial="@drawable/biaopan"    />    <DigitalClock     android:layout_width="wrap_content"    android:layout_height="wrap_content"    />    <Button     android:id="@+id/btn_showTime"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="顯示TimePickerDialog"    />    <Button     android:id="@+id/btn_showDate"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="顯示DatePickerDialog"    /></LinearLayout>

四、注意點

1、 AnalogClock中設置表盤屬性,指針當然也可以自己設置

<AnalogClock android:dial="@drawable/biaopan"/>

時針設置:android:hand_hour
分針設置:android:hand_minute

 2、TimePickerDialog的初始化方法需要特別注意一下,尤其是各個參數的說明

timeDialog=new TimePickerDialog(this, new MyTimeSetListener(), 13, 30, true); 

3、一定不要忘記新建的TimePickerDialog對象一定要調用show()方法,要不根本顯示不出來

timeDialog.show();

其實幾乎所有這種顯示在另外一個控件上的控件要想顯示,都必須調用show()方法,例如:

TimePickerDialog、DatePickerDialog、Toast

4、如果想知道TimePickerDialog的初始化方法中的第二個參數new MyTimeSetListener()何時使用的時候,

其實用log或Toast測試一下就好

public class MyTimeSetListener implements OnTimeSetListener{  public void onTimeSet(TimePicker view, int hourOfDay, int minute) {    Toast.makeText(Activity01.this, "hourOfDay:"+hourOfDay+" minute"+minute,Toast.LENGTH_SHORT).show();  }}

 五、易錯點

1、一定不要忘記新建的TimePickerDialog對象一定要調用show()方法,要不根本顯示不出來

timeDialog.show();

這個很容易忘記,很容易錯

其實幾乎所有這種顯示在另外一個控件上的控件要想顯示,都必須調用show()方法,例如:

TimePickerDialog、DatePickerDialog、Toast

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临澧县| 绥中县| 南康市| 丹江口市| 垫江县| 三台县| 惠安县| 扎兰屯市| 江城| 达拉特旗| 滨海县| 郯城县| 滨州市| 治县。| 调兵山市| 南岸区| 诏安县| 甘泉县| 荔波县| 柏乡县| 花垣县| 繁昌县| 司法| 万载县| 贡嘎县| 南开区| 庆城县| 崇义县| 芮城县| 铅山县| 新郑市| 宿州市| 锡林郭勒盟| 甘德县| 嘉荫县| 台北市| 松江区| 桃源县| 永州市| 桦甸市| 梅州市|