这是要实现的代码:
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);
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");
}
不行啊?上面的方法是否有错?