在主要页面复制选定的日期从DatePickerDialog到EDITTEXT箱 [英] Copy selected date from DatePickerDialog to Edittext box in main page

查看:129
本文介绍了在主要页面复制选定的日期从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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆