DatePickerDialog日期选择对话框,用于日期的设置。下面举一个简单的单击Button按钮调用日期选择对话框的实例。
并给出两种触发按钮单击事件的方法。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/button_title" />
<TextView android:id="@+id/textview" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" tools:context=".MainActivity" />
</LinearLayout>
下面是实现代码:
package com.example.datepickerdialog;
import java.util.Calendar;
import android.os.Bundle;import android.app.Activity;import android.app.DatePickerDialog;import android.app.DatePickerDialog.OnDateSetListener;import android.app.Dialog;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.DatePicker;import android.widget.TextView;
public class MainActivity extends Activity {
final int DIALOG_DATEPICKER=1; Calendar c; Button btn; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); /*获取当前日期*、 * */ c=Calendar.getInstance(); btn=(Button)findViewById(R.id.button); OnClickListener lsn=new OnClickListener(){ public void onClick(View v){ /* * 当Button被单击后,改变Button上面的背景文字 * 并且打开DatePickerDialog对话框 */ Button bton=(Button)v; bton.setText("我被单击了!"); showDialog(DIALOG_DATEPICKER); } }; btn.setOnClickListener(lsn); } protected Dialog onCreateDialog(int id){ switch(id){ case DIALOG_DATEPICKER: OnDateSetListener lsn=new OnDateSetListener(){ public void onDateSet(DatePicker v,int y,int m,int d){ /* * 设置好日期后的回调方法, * 可以根据设置的内容更新用户界面, * 或者系统时间 */ TextView tv=(TextView)findViewById(R.id.textview); String str="目前日期为:"; str=str+y+"年/"+m+"月/"+d+"日"; tv.setText(str); } }; DatePickerDialog date_dialog=new DatePickerDialog(this,lsn,c.get(Calendar.YEAR),c.get(Calendar.MONTH),c.get(Calendar.DAY_OF_MONTH)); return date_dialog; default: return null; } }
}
下面简单介绍下处理Button按钮单击事件的第二种方式,第一种方式众所周知是,使用监听器。
第二种方式:
在XML的Button项中,添加属性:android:onClick="SelfDestruct"
然后在.java文件中 添加 public void SelfDestruct(View v){
//...
}方法。即可
<Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="@string/self_destruct" android:onClick="selfDestruct"/>
转载于:https://www.cnblogs.com/welsh-android-learning/archive/2012/08/11/2633462.html
相关资源:Android常用对话框的封装