将日历中的日期添加到不同 class 中的 EditText

Adding date from a calendar into EditText in a different class

我做了一个应用程序,用户可以在我的 Calendar.java activity 日历上 select 一个日期,一旦用户 select 这个日期我想要它将此日期放在名为 AddDeadline 的单独 activity 中的 EditText 字段中。目前我有一个日历,一旦用户 select 到达那个日期,它就会将他们带到单独的 activity 称为 AddDeadline.java 并将日期显示为烤面包机。有没有一种方法可以让用户 select 设置一个日期,然后将该日期放入我的 AddDeadline.java activity 字段中的 EditText

我的代码是休闲的

Calendar.java

CalendarView calendar;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_calender);


    calendar = (CalendarView) findViewById(R.id.calendarView);
    calendar.setOnDateChangeListener(new CalendarView.OnDateChangeListener()  {

        @Override
        public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) {
            Toast.makeText(getApplicationContext(), dayOfMonth+ "/" + month + "/" + year, Toast.LENGTH_LONG).show();
            startActivity(new Intent(Calender.this, AddDeadline.class));
        }

    });
}

AddDeadline.java

public EditText editDate;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_add_deadline);

editDate = (EditText)findViewById(R.id.editText3);


            final EditText edate = (EditText) findViewById(R.id.editText3);
            edate.setOnClickListener(new View.OnClickListener()

            {

                @Override
                public void onClick (View v){
                // TODO Auto-generated method stub
                //To show current date in the datepicker
                Calendar mcurrentDate = Calendar.getInstance();
                int mYear = mcurrentDate.get(Calendar.YEAR);
                int mMonth = mcurrentDate.get(Calendar.MONTH);
                int mDay = mcurrentDate.get(Calendar.DAY_OF_MONTH);

                DatePickerDialog mDatePicker;
                mDatePicker = new DatePickerDialog(AddDeadline.this, new DatePickerDialog.OnDateSetListener() {
                    public void onDateSet(DatePicker datepicker, int selectedyear, int selectedmonth, int selectedday) {
                        // TODO Auto-generated method stub
                    /*      Your code   to get date and time    */
                        selectedmonth = selectedmonth + 1;
                        edate.setText("" + selectedday + "/" + selectedmonth + "/" + selectedyear);
                    }
                }, mYear, mMonth, mDay);
                mDatePicker.setTitle("Select Date");
                mDatePicker.show();
            }
            }

            );
        }

您可以像

那样将数据放入意图中
CalendarView calendar;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_calender);


    calendar = (CalendarView) findViewById(R.id.calendarView);
    calendar.setOnDateChangeListener(new CalendarView.OnDateChangeListener()  {

        @Override
        public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) {
            Toast.makeText(getApplicationContext(), dayOfMonth+ "/" + month + "/" + year, Toast.LENGTH_LONG).show();
            Intent intent = new Intent(Calender.this, AddDeadline.class)
             intent.putExtra("date", dayOfMonth+ "/" + month + "/" + year);
            startActivity(intent);
        }

    });
}

通过

在 AddDeadline class 中获取日期
String data = getIntent().getExtras().getString("date");

喜欢

 @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_add_deadline);
    String data = getIntent().getExtras().getString("date");

    editDate = (EditText)findViewById(R.id.editText3);
editDate.setText(date);


}