安卓想问一下关于Handler的问题?

我用Handler更新数据,为什么直接到最后一个数据,前面的都不显示,我的线程也sleep了一秒,大家有什么好方法,可以让我的数据从头一直更新到最后一个,而不是直接跳到最后一个数据!

4个回答

Handler handler = new Handler();
Runnable runnable = new Runnable(){
public void run(){
//在这里面做你要做的事
}
};

handler.postDelayed(runnable,3000);//触发 每隔三秒发一下

dxt_1515
dxt_1515 已解决,谢谢你啦!
4 年多之前 回复

问谁啊,肯定是代码有问题,该调试调试

dxt_1515
dxt_1515 我做了断点,方法每次返回的值都不一样,更新只能拿到最后的值。
4 年多之前 回复

private Handler mHandler = new Handler() {
public void handleMessage(android.os.Message msg) {
super.handleMessage(msg);
point1.setText(msg.obj.toString());

    };

};

new Thread(new Runnable() {
public void run() {
while (true) {

               String points = Data();
                Message msg = Message.obtain();
                msg.obj = points;
                mHandler.sendMessage(msg);

                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();}

        }
    }}).start();
    public String  Data(){
    String l="";
    for(int i=0;i<10;i++)
    l=Integer.toString(i);
    return l;
}
代码很简单,就是一下子直接运行到最后一个结果,不能一个个显示呢?

代码明显有问题,

  String points = Data();

这个地方,跟你想要的功能有出入。另外,问题已经解决,记得及时采纳“李智光 ”同学的答案哈。

立即提问
相关内容推荐