以对话框的形式弹出日期设置:
首先在xml中创建一个EditText输入框:
<EditText
android:id="@+id/et_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
//设置输入框点击事件
android:onClick="dateshow" />
在主方法的onCreate中设置修改时间
private EditText time;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
time = (EditText) findViewById(R.id.et_time);
Calendar calendar = Calendar.getInstance();
//获取日期
newyear = calendar.get(Calendar.YEAR);
//因为月份从0--11所以要加1
newmonth = calendar.get(Calendar.MONTH) + 1;
newday = calendar.get(Calendar.DAY_OF_MONTH);
update();
}
public void dateshow(View v) {
//点击EditText时以对话框形式弹出修改日期
onCreatDialog(DATE_SHOW).show();
}
protected Dialog onCreatDialog(int id) {
switch (id) {
case DATE_SHOW:
return new DatePickerDialog(incomeActivity.this, dateSetListener,
newyear, newmonth, newday);
}
return null;
}
private DatePickerDialog.OnDateSetListener dateSetListener = new OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
// TODO Auto-generated method stub
//修改年份
newyear = year;
//修改月份
newmonth = monthOfYear;
//修改日期
newday = dayOfMonth;
update();
}
};
private void update() {
// TODO Auto-generated method stub
//用于多个字符串的拼接
StringBuffer sb = new StringBuffer();
//设置修改后的日期时间到EditText中
time.setText(sb.append(newyear).append("-").append(newmonth)
.append("-").append(newday));
}
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。