Как получить настроенный формат даты для расширенного просмотра уведомлений - PullRequest
3 голосов
/ 06 июня 2010

Если я получил новое сообщение, в расширенном представлении уведомления отображается только время. Предположим, что если я получил сообщение сегодня (т.е. 06.06.2010), оно должно отображать просто строку «Сегодня», а завтра должно отображаться дата, когда сообщение было получено, т.е. оно должно отображать дату 06.06.2010

Ответы [ 2 ]

0 голосов
/ 14 ноября 2010

Если у вас есть дата в миллисекундах, например,

long myDate = Calendar.getInstance().getTimeInMillis();

В противном случае вы можете получить экземпляр calander и setTime

SimpleDateFormat sdf = new SimpleDateFormat();
sdf.applyPattern(“MM/dd/yyyy”);
Calendar calendar = Calendar.getInstance();
Date processDate = sdf.parse(“4/10/2007″);
calendar.setTime(processDate);
long myDate = calendar.getTimeInMillis();

Тогда вы можете взять разницу вашей даты с системной датой

String dateMessage = "today";
final int dayInterval = 86400000;
long difference = Calendar.getInstance().getTimeInMillis() - myDateInMillis;
if (difference > dayInterval)
    //dateMessage = format date MM/DD/YYYY...

Здесь вы можете обновить текущее уведомление, чтобы показать ожидаемое значение даты. См. Документы для разработчиков по Создание пользовательского расширенного представления .

Примечание по обновлению уведомления. Если у вас есть пользовательский расширенный вид. Вы можете обновить TextViews, используя средства доступа Remoteview. Приведенная выше ссылка описывает, как это сделать достаточно хорошо.

RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.custom_notification);
contentView.setTextViewText(R.id.text, mTitle);

Надеюсь, это поможет.

0 голосов
/ 25 октября 2010

Вам нужно написать собственный объект DateFormat, а затем вызвать DateFormat.format(Date)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...