简单datpicker为Android [英] simple datpicker for the android
本文介绍了简单datpicker为Android的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我试图发起DataPicker上单击编辑文字
什么是我想要做 ::
- 有拖编辑文本
- 我想从两个编辑文本推出日期选择器
我做了什么 ::
-
我试图做到这一点
-
我已经采取了的EditText作为样本之一
问题 ::
-
日期选取器不启动,当我点击的EditText
-
在logcat中没有错误
MainActivity.java
公共类MainActivity扩展FragmentActivity {
美国东部时间的EditText;
的EditText edt2;
@覆盖
保护无效的onCreate(包savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.activity_main);
美国东部时间=(EditText上)findViewById(R.id.editText1);
edt2 =(EditText上)findViewById(R.id.editText2);
SimpleDateFormat的SDF =新的SimpleDateFormat(DD / MM / YYYY);
日历C = Calendar.getInstance();
日历C1 = Calendar.getInstance();
c1.setTime(新日期());
c.setTime(新日期()); //现在用今天的日期。
c.add(Calendar.DATE,7); //添加7天
串TODATE = sdf.format(c.getTime());
串数fromdate = sdf.format(c1.getTime());
edt2.setText(数fromdate);
edt.setText(TODATE);
}
公共无效selectDate(查看视图){
DialogFragment newFragment =新SelectDateFragment();
newFragment.show(getSupportFragmentManager(),的DatePicker);
}
公共无效populateSetDate(INT年,月整型,INT日){
edt2 =(EditText上)findViewById(R.id.editText1);
edt2.setText(日+/+月+/+年);
}
公共类SelectDateFragment扩展DialogFragment实现DatePickerDialog.OnDateSetListener {
@覆盖
公共对话onCreateDialog(包savedInstanceState){
最后台历挂历= Calendar.getInstance();
INT YY = calendar.get(Calendar.YEAR);
INT毫米= calendar.get(Calendar.MONTH);
INT DD = calendar.get(Calendar.DAY_OF_MONTH);
返回新DatePickerDialog(getActivity(),这,YY,MM,DD);
}
公共无效onDateSet(DatePicker的观点,诠释YY,诠释毫米,诠释DD){
populateSetDate(YY,DD,MM们+ 1);
}
}
}
解决方案
的DatePicker不会推出,因为你还没有设置 onClickListener
您的EditText
在code。
设置点击监听器,如下为你的EditText。
@覆盖
保护无效的onCreate(包savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.activity_main);
美国东部时间=(EditText上)findViewById(R.id.editText1);
edt2 =(EditText上)findViewById(R.id.editText2);
SimpleDateFormat的SDF =新的SimpleDateFormat(DD / MM / YYYY);
日历C = Calendar.getInstance();
日历C1 = Calendar.getInstance();
c1.setTime(新日期());
c.setTime(新日期()); //现在用今天的日期。
c.add(Calendar.DATE,7); //添加7天
串TODATE = sdf.format(c.getTime());
串数fromdate = sdf.format(c1.getTime());
edt2.setText(数fromdate);
edt.setText(TODATE);
edt2.setOnClickListener(新OnClickListener(){
@覆盖
公共无效的onClick(视图v){
selectDate(五);
}
});
edt.setOnClickListener(新OnClickListener(){
@覆盖
公共无效的onClick(视图v){
selectDate(五); //通过查看参数。
}
});
}
I am trying to launch DataPicker on click of the edit text
What am i trying to do::
- there are tow edit text
- I want to launch datepicker from both edit text
What i have done ::
I have tried to do this
I have taken one of the edittext as sample
Problem::
date picker is not launching when i click on edittext
no errors in logcat
MainActivity.java
public class MainActivity extends FragmentActivity {
EditText edt;
EditText edt2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
edt=(EditText)findViewById(R.id.editText1);
edt2=(EditText)findViewById(R.id.editText2);
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Calendar c = Calendar.getInstance();
Calendar c1=Calendar.getInstance();
c1.setTime(new Date());
c.setTime(new Date()); // Now use today date.
c.add(Calendar.DATE, 7); // Adding 7 days
String ToDate = sdf.format(c.getTime());
String FromDate = sdf.format(c1.getTime());
edt2.setText(FromDate);
edt.setText(ToDate);
}
public void selectDate(View view) {
DialogFragment newFragment = new SelectDateFragment();
newFragment.show(getSupportFragmentManager(), "DatePicker");
}
public void populateSetDate(int year, int month, int day) {
edt2 = (EditText)findViewById(R.id.editText1);
edt2.setText(day+"/"+month+"/"+year);
}
public class SelectDateFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final Calendar calendar = Calendar.getInstance();
int yy = calendar.get(Calendar.YEAR);
int mm = calendar.get(Calendar.MONTH);
int dd = calendar.get(Calendar.DAY_OF_MONTH);
return new DatePickerDialog(getActivity(), this, yy, mm, dd);
}
public void onDateSet(DatePicker view, int yy, int mm, int dd) {
populateSetDate(yy, dd, mm+1);
}
}
}
解决方案
DatePicker is not launching because you have not set the onClickListener
for your EditText
in your code.
Set the click listener as below for both your EditText.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
edt=(EditText)findViewById(R.id.editText1);
edt2=(EditText)findViewById(R.id.editText2);
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Calendar c = Calendar.getInstance();
Calendar c1=Calendar.getInstance();
c1.setTime(new Date());
c.setTime(new Date()); // Now use today date.
c.add(Calendar.DATE, 7); // Adding 7 days
String ToDate = sdf.format(c.getTime());
String FromDate = sdf.format(c1.getTime());
edt2.setText(FromDate);
edt.setText(ToDate);
edt2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
selectDate(v);
}
});
edt.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
selectDate(v); //Pass the View as parameter.
}
});
}
这篇关于简单datpicker为Android的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文