我制作了一个媒体播放器,通过shoutcast进行流媒体播放,并试图从歌曲流中获取歌曲标题。我已经成功获得了歌曲标题,并在一个文本视图中进行了显示,并在歌曲更改时对其进行更新。TextView小部件在android2.2上不更新
我用android模拟器测试了这段代码,使用了android 1.5和android 2.1。该代码的作品,但当我在android 2.2上测试它的文本没有更新。
任何想法,为什么它不更新?我用来更新textview的代码如下。
当我点击我的布局pageArtist()和PAGETITLE(按钮)将被调用,他们将获得歌曲名称和艺术家,改变TextView的文本每4秒
我的代码在我的onCreate ()
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
streamButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
pageArtist();
pageTitle();
}
这是我的FOR更新我的TextView METHOD
private void pageTitle(){
timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
URL url;
try {
url = new URL("http://teststream.com:8000/listen.mp3");
IcyStreamMeta icy = new IcyStreamMeta(url);
TextView title1 = (TextView) findViewById(R.id.song_title);
String T;
T = icy.getTitle();
title1.setText(T);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}, 2, 4000);
}
EDIT:THIS CO DE每4秒重复一次TIMER
在UI组件的变化应该在UI线程进行,而不是在后台线程。使用Handler或AsyncTask来更新UI。 –
这是关于一个简单的'TextView'在一个活动(这是一个UI小部件)或关于一个真正的[Android应用小部件](http://developer.android.com/guide/topics/appwidgets/index.html) ? –
感谢@adil soomro你能编辑我的代码吗?更正它谢谢 – HeartlessArchangel