我是Android开发的新手。现在我想通过textview控件在线程中显示当前系统时间。我得到一些例子,可以启动线程在textview控件中绘制文本。
但是当我通过下面的链接:Display the current time and date in an Android application试图获取系统当前时间时,我得到了错误,错误说:getDateTimeInstance()未定义类型DateFormat。 为什么这个答案对我不起作用? THX。
以下是供您参考的代码:
public class MainActivity extends Activity {
private TextView timeView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread(){
public void run(){
System.out.println("Thread is running!!");
timeView = (TextView)findViewById(R.id.textView1);
String currentDateTimeString = DateFormat.getDateTimeInstance().format(new Date());
timeView.setText("I am Fired via Non-UI thread:"+s);
}
}.start();
}
答案 0 :(得分:2)
在线程中更新ui
timeView.setText("I am Fired via Non-UI thread:"+s);
使用runOnUiThread
。内线程的运行方法
runOnUiThread(new Runnable() {
@Override
public void run() {
timeView.setText("I am Fired via Non-UI thread:"+s);
}
});
还在线程外部初始化textview
timeView = (TextView)findViewById(R.id.textView1)
同时检查此
http://developer.android.com/reference/java/text/DateFormat.html
检查您的导入声明。
import java.text.DateFormat // import this
而不是
import android.text.format.DateFormat;