问题描述
- 在TextView中根据时间来显示不同的文本
- 这是要实现的代码:
package com.wao.texttime; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class TextTime extends Activity { @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之间显示什么文本等等。请问有什么好的建议吗?
解决方案
稍微有点复杂,希望帮的上你:
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""); }
解决方案二:
你这就是个闹钟功能,定时做一些事
用自定义一个BroadcastReceiver也行
用API AlarmManager可以实现指定时间运行某些动作
还可以用不靠谱的办法,启个线程循环监测时间
这里太卡了,我打个字平均三秒钟才出来
解决方案三:
你可以使用 Calender来获取指定时间.
int hour = Calendar.getInstance().get(Calendar.HOUR_OF_DAY);
时间: 2024-11-18 00:02:03