android 动态更改textview 内容
小弟刚刚做android开发,遇到一个很棘手的问题,请各位高手帮帮忙。我在界面上做了一个TextView控件,在Activity里通过访问Web工程来获取数据,这个Web...
小弟刚刚做android开发,遇到一个很棘手的问题,请各位高手帮帮忙。我在界面上做了一个TextView控件,在Activity里通过访问Web工程来获取数据,这个Web工程是我自己写的(功能是生成一个随机数)。现在想将获取的值放到TextView里面,比如说我做一个循环,循环5次,就是访问5次Web工程,我想要得效果是TextView里面的内容动态变化4次,可结果却是只显示最后一次的数据,我试着加了thread.sleep(1000),结果是等了一阵之后只显示最后的数据。请问如何才能让TextView中能显示每次获取到的数据呢,小弟刚学android,麻烦写代码好吗。谢谢!
展开
3个回答
展开全部
public class MainActivity extends Activity {
private int index;
private TextView mTextView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mTextView = new TextView(this);
setContentView(mTextView);
new DataThread().start();
}
private String getWebData() {
return String.valueOf(++index);
}
private Handler mHandler = new Handler() {
public void handleMessage(android.os.Message msg) {
mTextView.setText((String)msg.obj);
};
};
private class DataThread extends Thread {
@Override
public void run() {
for(int i = 0; i < 4; i++) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
}
final String data = getWebData();
// 只能在主线程中修改ui控件
mHandler.sendMessage(mHandler.obtainMessage(0, data));
}
}
}
}
private int index;
private TextView mTextView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mTextView = new TextView(this);
setContentView(mTextView);
new DataThread().start();
}
private String getWebData() {
return String.valueOf(++index);
}
private Handler mHandler = new Handler() {
public void handleMessage(android.os.Message msg) {
mTextView.setText((String)msg.obj);
};
};
private class DataThread extends Thread {
@Override
public void run() {
for(int i = 0; i < 4; i++) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
}
final String data = getWebData();
// 只能在主线程中修改ui控件
mHandler.sendMessage(mHandler.obtainMessage(0, data));
}
}
}
}
展开全部
多线程配合handler使用,复写handleMessage方法处理UI变化,thread继承runable接口,run方法里访问web来获取数据。主线程里for循环,基本上是这个思路。
http://wenku.baidu.com/view/e2c06a0a76c66137ee06193d.html
http://wenku.baidu.com/view/e2c06a0a76c66137ee06193d.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询