2010-11-28 7 views
1

Dies ist meine .java-Datei in src:Mit setText mit Regeln in Bezug auf die aktuelle Zeit

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"); 
    } 
} 

Ich mag die Textview die verschiedenen Texte angezeigt werden, je nachdem, wie spät es ist. F.ex. zwischen 08: 45-10: 45 und so weiter. Ich bin sehr neu in der Codierung sowohl für Android und Java und ich versuche herauszufinden, wie ich die Regeln für welchen Text angezeigt werden kann. Hast du irgendwelche Vorschläge?

Antwort

1

Es könnte ein bisschen komplizierter sein. Ich würde wahrscheinlich den folgenden Ansatz verwenden (mit ein bisschen Optimierung von 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

Großartig! Danke vielmals! – Anders

0

Verwenden Sie die time class, um die aktuelle Uhrzeit abzurufen. Dann benutze switch statements oder if/else wenn/else sperrt (abhängig von deinen genauen Anforderungen) um verschiedene Texte anzuzeigen.

0

Sie könnten einen Kalender verwenden, um die aktuelle Stunde des Tages zu erhalten.

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

Ich brauche beide Stunde und Minute, wenn das Intervall zwischen 08:45 und 10:30 sein kann. – Anders

Verwandte Themen