2010-11-28 25 views
1

Ceci est mon fichier .java dans src:En utilisant setText des règles en ce qui concerne l'heure actuelle

package com.wao.texttime; 

import android.app.Activity; 
import android.os.Bundle; 
import android.widget.TextView; 

public class TextTime extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     TextView tv1 = (TextView) findViewById(R.id.TextView01); 
     tv1.setText("Good Morning"); 
     TextView tv2 = (TextView) findViewById(R.id.TextView02); 
     tv1.setText("Good Afternoon"); 
    } 
} 

Je veux que le TextView pour afficher les différents textes en fonction de l'heure qu'il est. F.ex. entre 08h45-10h45 et ainsi de suite. Je suis très nouveau pour coder à la fois pour Android et Java et j'essaie de comprendre comment je peux faire les règles pour quel texte à afficher. Avez-vous des suggestions?

Répondre

1

Cela peut être un peu plus compliqué. J'utiliserais probablement l'approche suivante (avec un peu d'optimisation de c.)

TextView textView = (TextView) findViewById(R.id.text); 

    Calendar cal = Calendar.getInstance(); 
    cal.setTimeInMillis(System.currentTimeMillis()); 

    cal.set(Calendar.HOUR_OF_DAY, 8); 
    cal.set(Calendar.MINUTE, 45); 
    cal.set(Calendar.SECOND, 0); 

    long morning_start = cal.getTimeInMillis(); 

    cal.set(Calendar.HOUR_OF_DAY, 10); 
    cal.set(Calendar.MINUTE, 0); 

    long morning_end = cal.getTimeInMillis(); 
    long now = System.currentTimeMillis(); 

    if(now > morning_start && now < morning_end) 
    { 
     textView.setText("Good morning"); 
    } 
    else 
    { 
     textView.setText("Have a nice day"); 
    } 
+0

Super! Merci beaucoup! – Anders

0

Utilisez le time class pour obtenir l'heure actuelle. Utilisez ensuite les instructions switch ou if/else si/else se bloque (en fonction de vos besoins exacts) pour afficher différents textes.

0

Vous pouvez utiliser un calendrier pour obtenir l'heure actuelle.

int hour = Calendar.getInstance().get(Calendar.HOUR_OF_DAY); 
+0

J'ai besoin d'heure et de minute quand l'intervalle peut être entre 08:45 et 10:30. – Anders