在主要页面复制选定的日期从DatePickerDialog到EDITTEXT箱 [英] Copy selected date from DatePickerDialog to Edittext box in main page
本文介绍了在主要页面复制选定的日期从DatePickerDialog到EDITTEXT箱的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我下面此链接创建DatePickerDialog和选定日期复制到Editext场。然而,我无法管理,以了解如何做到这一点,因为无论我在onDateSet方法做,这是面目全非。如果有人好心帮。
主要XML:
<的EditText
机器人:ID =@ + ID / add_datepurchased
安卓的inputType =日期
安卓的onClick =showdate相似/>
主类:
的EditText datpurchased;
@覆盖
保护无效的onCreate(捆绑savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.activity_add_entry);
//显示操作栏中的向上按钮。
setupActionBar(); datpurchased =(EditText上)findViewById(R.id.add_datepurchased);
}
公共无效showdate相似(视图v){
DialogFragment newFragment =新DatePickerFragment();
newFragment.show(getFragmentManager(),日期选择器);
}
DatePickerFragment类:
公共类DatePickerFragment扩展DialogFragment实现DatePickerDialog.OnDateSetListener { @覆盖
公共对话框onCreateDialog(捆绑savedInstanceState){
最后的日历C = Calendar.getInstance();
年整型= c.get(Calendar.YEAR);
INT月= c.get(的Calendar.MONTH);
INT天= c.get(Calendar.DAY_OF_MONTH);
返回新DatePickerDialog(getActivity(),这,年,月,日);
} 公共无效onDateSet(查看的DatePicker,年整型,诠释月,日整型){
的EditText datpurchased =(EditText上)findViewById(R.id.add_datepurchased); //提示错误
datpurchased.setText(年+ - +(月+ 1)+ - +天);
}
}
解决方案
您应该intialize的EditText中的onCreate()
I am following this link to create a DatePickerDialog and copy the selected date to an Editext field. However, I could not manage to understand how to do that, as whatever I do in onDateSet method, it is unrecognizable. If anybody kindly help.
MAIN XML:
<EditText
android:id="@+id/add_datepurchased"
android:inputType="date"
android:onClick="showdate" />
Main Class:
EditText datpurchased;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_entry);
// Show the Up button in the action bar.
setupActionBar();
datpurchased = (EditText) findViewById(R.id.add_datepurchased);
}
public void showdate(View v) {
DialogFragment newFragment = new DatePickerFragment();
newFragment.show(getFragmentManager(), "datePicker");
}
DatePickerFragment Class:
public class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState){
final Calendar c=Calendar.getInstance();
int year=c.get(Calendar.YEAR);
int month=c.get(Calendar.MONTH);
int day=c.get(Calendar.DAY_OF_MONTH);
return new DatePickerDialog(getActivity(), this, year, month, day);
}
public void onDateSet(DatePicker view, int year, int month, int day){
EditText datpurchased = (EditText) findViewById(R.id.add_datepurchased); // GIVES ERROR
datpurchased.setText(year+"-"+(month+1)+"-"+day);
}
}
解决方案
You should intialize EditText in onCreate()
这篇关于在主要页面复制选定的日期从DatePickerDialog到EDITTEXT箱的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文