Изменение TextView Android, пока время меняется

Я новичок в Android, и я пытаюсь узнать некоторые новые вещи.

Я хочу изменить свой textview когда время изменится. Например, если между 12:00 и 12:00, то должно появиться "Доброе утро", в противном случае должно появиться "Добрый вечер".

код, который я попробовал, как показано ниже..

SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss");
String formattedDate = df.format(c.getTime());

Toast.makeText(this, formattedDate, Toast.LENGTH_SHORT).show();

if(formattedDate.equals("00:00:00")&&formattedDate.equals("12:00:00")){
    textView.setText("good morning");
}else{
    textView.setText("good Evening");
}

Проблема с этим кодом заключается в том, что если вы откроете это приложение в 12:00 или 12:00, оно покажет текст "Доброе утро", а если нет, то оно покажет добрый вечер… я хочу, чтобы текст показывал "Доброе утро с 12:00 до 12 вечера и в остальное время должно показывать Добрый вечер..

если вы можете помочь, то спасибо заранее..:)

3 ответа

Решение

Проверьте ниже код

public static String Convert24to12(String time)
{
String convertedTime ="";
try {
    SimpleDateFormat displayFormat = new SimpleDateFormat("hh:mm a");
    SimpleDateFormat parseFormat = new SimpleDateFormat("HH:mm:ss");
    Date date = parseFormat.parse(time);        
    convertedTime=displayFormat.format(date);
    System.out.println("convertedTime : "+convertedTime);
} catch (final ParseException e) {
    e.printStackTrace();
}
return convertedTime;
//Output will be 10:23 PM
}

здесь вы просто проверьте это условие

if(Convert24to12(formattedDate).contains("AM")){
   textView.setText("good morning");
}else{
   textView.setText("good Evening");
}
    Calendar c = Calendar.getInstance();
    SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss a");
    String formattedDate = df.format(c.getTime());

    if (formattedDate.contains("AM")) {
        textView.setText("Good Morning");
    } else {
        textView.setText("Good Evening");
    }
Calendar calendar = Calendar.getInstance();

SimpleDateFormat sdf = new SimpleDateFormat("HH");

int temp = Integer.parseInt(sdf.format(calendar.getTimeInMillis()));

if(temp > 12)
{
    System.out.println("Good Evening");
}
else
{
    System.out.println("Good Morning");
}
Другие вопросы по тегам