女生只有在自己喜欢的男生面前可以变成女生,其他时候必须像个爷们儿一样去奋斗!
步骤:
(1)调用Activity的onCreateDialog()方法创建对话框
(2)分别在OnDateSetListener的onDateSet()方法和OnTimeSetListener的onTimeSet()方法中更改日期和时间
(3)调用Activity的showDialog()方法显示对话框
1、演示结果
2、主文件
package com.example.test;
import java.util.Calendar;
import android.os.Bundle;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.app.TimePickerDialog;
import android.app.DatePickerDialog.OnDateSetListener;
import android.app.TimePickerDialog.OnTimeSetListener;
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;
import android.widget.TimePicker;
public class MainActivity extends Activity {
private Button datebtn,timebtn;
private TextView datetv,timetv;
private Calendar calendar;
private int year,month,day,hour,minute;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
datebtn=(Button)findViewById(R.id.datebutton);
timebtn=(Button)findViewById(R.id.timebutton);
datetv=(TextView)findViewById(R.id.datetextview);
timetv=(TextView)findViewById(R.id.timetextview);
calendar=Calendar.getInstance();
year=calendar.get(Calendar.YEAR);
month=calendar.get(Calendar.MONTH);
day=calendar.get(Calendar.DAY_OF_MONTH);
hour=calendar.get(Calendar.HOUR_OF_DAY);
minute=calendar.get(Calendar.MINUTE);
datetv.setText(year+":"+month+":"+day);
timetv.setText(hour+":"+minute);
datebtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
showDialog(0);
}
});
timebtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
showDialog(1);
}
});
}
protected Dialog onCreateDialog(int id){
if(id==0)
return new DatePickerDialog(this, l1, year, month, day);
else
return new TimePickerDialog(this, l2, hour, minute, true);
}
private OnDateSetListener l1 = new OnDateSetListener() {
@Override
public void onDateSet(DatePicker arg0, int arg1, int arg2, int arg3) {
// TODO Auto-generated method stub
year=arg1;
month=arg2;
day=arg3;
datetv.setText(year+":"+(month+1)+":"+day);
}
};
private OnTimeSetListener l2 = new OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker arg0, int arg1, int arg2) {
// TODO Auto-generated method stub
hour=arg1;
minute=arg2;
timetv.setText(hour+":"+minute);
}
};
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
3、布局文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical" >
<TextView
android:id="@+id/datetextview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="日期" />
<Button
android:id="@+id/datebutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="显示日期对话框" />
<TextView
android:id="@+id/timetextview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="时间" />
<Button
android:id="@+id/timebutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="显示时间对话框" />
</LinearLayout>
【第一遍做的时候,不知道为什么,怎么都不显示对话框,又新建了一个android工程才成功?!!】