我无法将日期从日历传递到另一个活动。这不是我想要显示的当前日期,它是用户在我编码的日历上选择的日期。
以下是我的代码。
@Override
public void onClick(View view)
{
String date_month_year = (String)view.getTag();
selectedDayMonthYearButton.setText(new StringBuilder().append("Selected:").append(date_month_year));
Intent k = new Intent(Calendar_Event.this, Create_Events.class);
startActivity(k);
try
{
Date parsedDate = dateFormatter.parse(date_month_year);
Log.d(tag, "Parsed Date: " + parsedDate.toString());
}
catch(ParseException e)
{
e.printStackTrace();
}
}
public int getCurrentDayOfMonth()
{
return currentDayOfMonth;
}
private void setCurrentDayOfMonth(int currentDayOfMonth)
{
this.currentDayOfMonth = currentDayOfMonth;
}
public void setCurrentWeekDay(int currentWeekDay)
{
this.currentWeekDay = currentWeekDay;
}
public int getCurrentWeekDay()
{
return currentWeekDay;
}
}//end GridCellAdapter
我尝试将选中onClick的日期传递给此类链接到的下一个活动。
非常感谢任何帮助,谢谢!
答案 0 :(得分:0)
考虑通过调用getTimeInMillis()
/* GetDateActivity.java */
Intent intent = new Intent();
Calendar myDate = Calendar.getInstance();
myDate.set(Calendar.YEAR, 1970);
myDate.set(Calendar.MONTH, 1);
myDate.set(Calendar.DAY_OF_MONTH, 1);
intent.putExtra("myDateKey", myDate.getTimeInMillis());
setResult(RESULT_OK, intent);
// Terminate current activity
finish();
然后,调用startActivityForResult(intent)
的内部活动,即MainActivity.java
public static final int REQUEST_DATE_CODE = 777;
...
Intent i = new Intent(MainActivity.class, GetDateActivity.class);
startActivityForResult(i, REQUEST_DATE_CODE);
...
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case REQUEST_DATE_CODE:
if (resultCode == RESULT_OK && data != null) {
Calendar myDate = Calendar.getInstance();
myDate.setTimeInMillis(extras.getLong("myDateKey"));
Date date = myDate.getTime();
SimpleDateFormat simpleDateFormatter = new SimpleDateFormat("EEE, MMM d, ''yy", Locale.getDefault());
Log.d(tag, "Parsed Date: " + simpleDateFormatter.format(date));
}
break;
}
}