Android 开发笔记___DatePicker__日期选择器
2024-08-19 21:43:24
虽然EditText提供了inputTtype=“date”,但用户往往不太喜欢自己输入时间。
Android为这个提供了DatePicker,但有很多缺点,不是弹窗模式,而是直接在页面上占据一块区域,并且不会自动关闭。
因此它不适合直接使用,在开发中往往用已经封装好的日期选择对话框DatePickerDialog。
- 相当于在AlertDialog上加载了DatePicker
- 由监听器OnDateSetListener负责响应
- 在OnDateSet方法中获得用户选择的具体日期
- 当然,一月份对应的不是1,是0,你懂的!
package com.example.alimjan.hello_world; import java.util.Calendar; /**
* Created by alimjan on 7/15/2017.
*/
import android.app.DatePickerDialog;
import android.app.DatePickerDialog.OnDateSetListener;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.DatePicker;
import android.widget.TextView; import com.example.alimjan.hello_world.two.class__2_1_2; public class class_5_1_1 extends AppCompatActivity implements
OnClickListener, OnDateSetListener { private TextView tv_date; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.code_5_1_1);
tv_date = (TextView) findViewById(R.id.tv_date);
findViewById(R.id.btn_date).setOnClickListener(this);
} @Override
public void onClick(View v) {
if (v.getId() == R.id.btn_date) {
Calendar calendar = Calendar.getInstance();
DatePickerDialog dialog = new DatePickerDialog(this, this,
calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH));
dialog.show();
}
} @Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
String desc = String.format("您选择的日期是%d年%d月%d日",
year, monthOfYear+1, dayOfMonth);
tv_date.setText(desc);
} public static void startHome(Context mContext) {
Intent intent = new Intent(mContext, class_5_1_1.class);
mContext.startActivity(intent);
} }
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="10dp" > <Button
android:id="@+id/btn_date"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="请选择日期"
android:textColor="@color/black"
android:textSize="20sp" /> <TextView
android:id="@+id/tv_date"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:textSize="17sp" /> </LinearLayout>
最新文章
- 一键批量添加材质的法线贴图-unity插件
- YARN与MRv1的对比
- BASE64编码和解码(VC源代码) 并 内存加载 CImage 图像
- watch监听 chechbox 全选
- NeHe OpenGL教程 第十九课:粒子系统
- Unix环境链接静态库
- Vijos p1002 过河 离散化距离+区间DP
- BZOJ 1026 windy数
- 让 Dreamweaver 支持 Emmet(原ZenCoding)
- java查找反复类/jar包/普通文件
- 反射技术在Android中的应用
- 移动端click事件延迟300ms的原因以及解决办法[转载]
- [转载]mysql绑定参数bind_param原理以及防SQL注入
- dblink实现不同用户之间的数据表访问
- apache环境下ssl证书链不完整问题解决,原因是缺少中间证书
- vb.net MakeWParam
- Spring MVC 上下文(ApplicationContext)初始化入口
- PHP中的回调函数
- LeetCode OJ 79. Word Search
- FasfDFS intall nginx with image filter