【问题标题】:Time based actions or texts基于时间的动作或文本
【发布时间】:2016-07-29 12:06:46
【问题描述】:

我正在尝试为学生制作一个应用程序,并且我想在应用程序的主屏幕上显示一条消息,例如“嘿!早安”,之后它应该变为“嘿!晚上好”每天 15:00,以此类推。 我怎样才能做到这一点?

【问题讨论】:

标签: android android-studio text time


【解决方案1】:

请检查这个。它可能对你有帮助。

      Calendar c = Calendar.getInstance();
        int timeOfDay = c.get(Calendar.HOUR_OF_DAY);

        if(timeOfDay >= 0 && timeOfDay < 12){
            Toast.makeText(this, "Good Morning", Toast.LENGTH_SHORT).show();        
        }else if(timeOfDay >= 12 && timeOfDay < 16){
            Toast.makeText(this, "Good Afternoon", Toast.LENGTH_SHORT).show();
        }else if(timeOfDay >= 16 && timeOfDay < 21){
            Toast.makeText(this, "Good Evening", Toast.LENGTH_SHORT).show();
        }else if(timeOfDay >= 21 && timeOfDay < 24){
            Toast.makeText(this, "Good Night", Toast.LENGTH_SHORT).show(); 
}

【讨论】:

    【解决方案2】:

    你可以得到时间或小时

    import java.util.Calendar
    
    Calendar c = Calendar.getInstance(); 
    int hours = c.get(Calendar.HOUR);
    

    从中你可以为你的文本视图选择一个字符串:

    TextView mytextview=(TextView) findViewByID(...);
    String message="";
    if(hours<11){
    message="good morning"
    }else if(hours>=11 & hours<17){
    message=...}
    mytextview.setText(message);
    

    【讨论】:

      【解决方案3】:

      您可以在onResume() 的活动中检查一天中的时间。这将检查必须显示文本的屏幕何时出现在前台。因此,即使您从不同的屏幕返回,也会进行检查。对于实时检查,您需要一种机制来绝对回调事件 [of 1500 hrs]。

      这可能有点麻烦,我们需要更多信息来决定机制。您还应该决定这是否正是您想要做的。

      由于其琐碎的性质,不显示检查代码。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-03-13
        • 1970-01-01
        • 2012-01-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多