Android小笔记之对话框形式修改日期

    

    以对话框的形式弹出日期设置:


     首先在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));

}



本文出自 “Android小笔记” 博客,请务必保留此出处http://dreamwing.blog.51cto.com/9872128/1611691

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。