Android对话框(二)

  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"/>

 

posted @ 2012-08-11 11:10  挡不住会飞的鸡  阅读(836)  评论(0编辑  收藏  举报