【问题标题】:Using setText with rules regarding the current time将 setText 与有关当前时间的规则一起使用
【发布时间】:2010-11-28 21:38:12
【问题描述】:

这是我在 src 中的 .java 文件:

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

我希望 TextView 根据时间显示不同的文本。前任在 08:45-10:45 之间等等。我对 android 和 java 的编码都很陌生,我试图弄清楚如何为要显示的文本制定规则。你有什么建议吗?

【问题讨论】:

    标签: android textview settext


    【解决方案1】:

    这可能有点复杂。我可能会使用以下方法(稍微优化一下)

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

    【讨论】:

      【解决方案2】:

      使用time class 获取当前时间。然后使用 switch 语句或 if/else if/else 块(取决于您的确切要求)来显示不同的文本。

      【讨论】:

        【解决方案3】:

        您可以使用日历获取当前时间。

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

        【讨论】:

        • 当时间间隔可以在 08:45 到 10:30 之间时,我需要小时和分钟。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-29
        • 1970-01-01
        • 2014-11-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多