Tôi có một bộ đếm ngày. Ứng dụng của tôi đang đẩy thông báo. Tôi muốn hiển thị ngày ở định dạng MM-dd-yyyy 01-07-2013. Vui lòng kiểm tra mã của tôi dưới đây:Ngày định dạng Android cho MM-DD-YYYY từ Datepicker
//---Button view---
Button btnOpen = (Button) findViewById(R.id.btEventDone);
btnOpen.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
String strT = title.getText().toString();
String strDes = description.getText().toString();
// check if user did not input anything
if(strT.isEmpty() || strDes.isEmpty()){
Toast.makeText(getBaseContext(), "You have blank fields!", Toast.LENGTH_SHORT).show();
}
else{
//---use the AlarmManager to trigger an alarm---
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
//---get current date and time---
Calendar calendar = Calendar.getInstance();
//---sets the time for the alarm to trigger---
calendar.set(Calendar.YEAR, date.getYear());
calendar.set(Calendar.MONTH, date.getMonth());
calendar.set(Calendar.DAY_OF_MONTH, date.getDayOfMonth());
calendar.set(Calendar.HOUR_OF_DAY, time.getCurrentHour());
calendar.set(Calendar.MINUTE, time.getCurrentMinute());
calendar.set(Calendar.SECOND, 0);
//---PendingIntent to launch activity when the alarm triggers---
Intent i = new Intent(CalendarEvent.this, DisplayNotification.class);
year = calendar.get(Calendar.YEAR);
month = calendar.get(Calendar.MONTH);
day = calendar.get(Calendar.DAY_OF_MONTH);
hour = calendar.get(Calendar.HOUR);
minute = calendar.get(Calendar.MINUTE);
Date d = new Date(year, month, day);
SimpleDateFormat dateFormatter = new SimpleDateFormat(
"MM-dd-yyyy");
String strDate = dateFormatter.format(d);
String strTitle = title.getText().toString();
String strDescription = description.getText().toString();
strDate = String.valueOf(month) + "-" + String.valueOf(day) + "-" + String.valueOf(year);
StringBuilder sb = new StringBuilder();
if(hour>=12){
sb.append(hour-12).append(":").append(minute).append(" PM");
}else{
sb.append(hour).append(":").append(minute).append(" AM");
}
String strTime = sb.toString();
//---assign an ID of 1---
i.putExtra("NotifID", notifID);
i.putExtra("Title", strTitle);
i.putExtra("Description", strDescription);
i.putExtra("Date", strDate );
i.putExtra("Time", strTime);
PendingIntent displayIntent = PendingIntent.getActivity(
getBaseContext(), notifID, i, 0);
//---sets the alarm to trigger---
alarmManager.set(AlarmManager.RTC_WAKEUP,
calendar.getTimeInMillis(), displayIntent);
finish();
}
}
});
}
AlarmDetails:
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.alarmdetails);
//---look up the notification manager service---
NotificationManager nm = (NotificationManager)
getSystemService(NOTIFICATION_SERVICE);
title = (EditText) findViewById (R.id.etDetailTitle);
description = (EditText) findViewById (R.id.etDetailDescription);
date = (EditText) findViewById (R.id.etDetailDate);
time = (EditText) findViewById (R.id.etDetailTime);
done = (Button) findViewById (R.id.btnAlarmDone);
done.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
finish();
}
});
//---cancel the notification---
nm.cancel(getIntent().getExtras().getInt("NotifID"));
String strTitle = getIntent().getExtras().getString("Title");
String strDescription = getIntent().getExtras().getString("Description");
strDate = getIntent().getExtras().getString("Date");
String strTime = getIntent().getExtras().getString("Time");
title.setText(strTitle);
description.setText(strDescription);
date.setText(strDate);
time.setText(strTime);
}
DisplayNotification:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//---get the notification ID for the notification;
// passed in by the NotifyActivity---
int notifID = getIntent().getExtras().getInt("NotifID");
String strTitle = getIntent().getExtras().getString("Title");
String strDescription = getIntent().getExtras().getString("Description");
String strDate = getIntent().getExtras().getString("Date");
String strTime = getIntent().getExtras().getString("Time");
//---PendingIntent to launch activity if the user selects
// the notification---
Intent i = new Intent(DisplayNotification.this, AlarmDetails.class);
i.putExtra("NotifID", notifID);
i.putExtra("Title", strTitle);
i.putExtra("Description", strDescription);
i.putExtra("Date", strDate);
i.putExtra("Time", strTime);
PendingIntent detailsIntent =
PendingIntent.getActivity(this, 0, i, 0);
NotificationManager nm = (NotificationManager)
getSystemService(NOTIFICATION_SERVICE);
Notification notif = new Notification(
R.drawable.ic_launcher,
"iHealthFirst: Notification!",
System.currentTimeMillis());
CharSequence from = "iHealthFirst - New Notification";
CharSequence message = "This is your alert, click to view";
notif.setLatestEventInfo(this, from, message, detailsIntent);
notif.flags = Notification.FLAG_INSISTENT;
notif.defaults |= Notification.DEFAULT_SOUND;
//---100ms delay, vibrate for 250ms, pause for 100 ms and
// then vibrate for 500ms---
notif.vibrate = new long[] { 100, 250, 100, 500};
nm.notify(notifID, notif);
//---destroy the activity---
finish();
}
ứng dụng hiện tại của tôi chỉ hiển thị trong định dạng này M-d-yyyy. Tôi đã đọc rằng chúng ta nên sử dụng SimpleDateFormat, nhưng tôi không biết cách sử dụng nó trong ứng dụng của mình. Có ai giúp được không? Cảm ơn.
Cảm ơn giải pháp ur hoạt động cho tôi! –