码迷,mamicode.com
首页 > 其他好文 > 详细

一个自定义时间日期控件的使用

时间:2015-06-23 23:27:15      阅读:355      评论:0      收藏:0      [点我收藏+]

标签:

一个自定义时间日期的控件,依赖类是GitHub下的。比较好用,现在将使用流程记下:

1.布局文件

<TextView
        android:id="@+id/tv_remunera_day_datepick"
        style="@style/input_datepicker"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dp"
        android:layout_marginTop="10dp"
        android:hint="@string/choice_date" />



2.在Activity中使用

public class RemunerationItemByDayFragment extends Fragment {
    tv_datePicker.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				((RemunerationActivity)getActivity()).setDatePicker(tv_datePicker, "yyyy/MM/dd");
			}
		});
		tv_datePicker.addTextChangedListener(new TextWatcher() {
			
			@Override
			public void onTextChanged(CharSequence s, int start, int before, int count) {
				
				String valTime = s.toString();
				Log.i(TAG, valTime + subjectId + typeId);
				if (!valTime.equals("") && !subjectId.equals("") && !typeId.equals("")) {
					getRemunerationByDate(valTime, subjectId, typeId);
				} else {
					Toast.makeText(context, "请选择对应模块和输入日期!", Toast.LENGTH_LONG).show();
				}
			}
			
			@Override
			public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
					int arg3) {
			}
			
			@Override
			public void afterTextChanged(Editable arg0) {
			}
		});
}



3.setDatePicker方法,必须要有次方法和事件

private Builder slidDatebuild;

slidDatebuild = new SlideDateTimePicker.Builder(getSupportFragmentManager());

public void setDatePicker(TextView tv, String formatstr) {

		slidDatebuild.setInitialDate(new Date())
				.setListener(new DatePickerListener(tv, formatstr))
				// .setMinDate(minDate)
				// .setMaxDate(maxDate)
				// .setIs24HourTime(true)
				// .setTheme(SlideDateTimePicker.HOLO_DARK)
				// .setIndicatorColor(Color.parseColor("#990000"))
				.build().show();
	}

private class DatePickerListener extends SlideDateTimeListener {

		TextView tv_date;
		SimpleDateFormat mFormatter;

		@SuppressLint("SimpleDateFormat")
		public DatePickerListener(TextView tv, String formatstr) {
			mFormatter = new SimpleDateFormat(formatstr);
			tv_date = tv;
		}

		@Override
		public void onDateTimeSet(Date date) {
			tv_date.setText(mFormatter.format(date));
		}
	}



这样写完代码后当每次点击TextView就会弹出时间日期选择框,非常方便使用。

一个自定义时间日期控件的使用

标签:

原文地址:http://my.oschina.net/u/2283209/blog/469911

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!