Android对话框(二)

it2022-05-09  38

  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常用对话框的封装

最新回复(0)