这个是有关于DatePickerDialog 显示,和设置时间问题,和在DatePickerDialog改变了时间,回调dateSet让textView改变时间的例子
public class OrderHistoryActivity extends Activity implements OnClickListener {
DatePickerDialog datePickerDialog ;
TextView dateText;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.order_history);
setDate();
}
/***
* 设置日期和时间
*/
private void setDate(){
Button dateButton = (Button) findViewById(R.id.date_but);
dateButton.setOnClickListener(this);
dateText = (TextView) findViewById(R.id.date_txt);
dateText.setOnClickListener(this);
//得到昨天的时间
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE, -1);
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);
//dateText显示时间
dateText.setText(year+"-"+(month+1)+"-"+day);
datePickerDialog = new DatePickerDialog(OrderHistoryActivity.this, new MyDatePickerListener(), year, month, day);
//设置最大时间
datePickerDialog.getDatePicker().setMaxDate(calendar.getTimeInMillis());
//设置最小时间datePickerDialog.getDatePicker().setminDate(...)
// }
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
@Override
public void onClick(View v) {
int id = v.getId();
switch (id) {
case R.id.date_txt:
case R.id.date_but:
datePickerDialog.show();
break;
}
}
//当日期时间变了,回调onDateSet
private class MyDatePickerListener implements OnDateSetListener{
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
dateText.setText(year+"-"+(monthOfYear+1)+"-"+dayOfMonth);
}
}
}
布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#ffe8e1dd"
>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/search_frame_black"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:focusable="true"
android:focusableInTouchMode="true"
>
<EditText
android:id="@+id/searchText"
android:layout_centerVertical="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/search_frame"
android:paddingLeft="30dp"
android:imeOptions="actionSearch"
android:singleLine="true"
/>
<ImageView
android:layout_centerVertical="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/search"
/>
<Button
android:id="@+id/date_but"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/date"
android:layout_centerVertical="true"
android:layout_alignParentRight="true"
/>
<Button
android:layout_toLeftOf="@id/date_but"
android:id="@+id/rightBut"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/reght_but"
android:layout_centerVertical="true"
android:layout_alignParentRight="true"
android:layout_marginRight="30dp"
/>
<TextView
android:id="@+id/date_txt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/rightBut"
android:text="1990-06-02"
android:layout_centerVertical="true"
/>
<Button
android:id="@+id/left_but"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/left_but"
android:layout_centerVertical="true"
android:layout_toLeftOf="@id/date_txt"
/>
</RelativeLayout>
</LinearLayout>