2 u010564553 u010564553 于 2013.05.07 15:31 提问

android中用线程处理耗时操作后,获得不到数据怎么办

我用Thread处理一个耗时操作,不加的时候还能获得数据,但是慢。加上之后数据都获得不到

3个回答

qiushibaiyi
qiushibaiyi   2013.05.07 15:49

能说清楚点吗?你做了什么耗时操作,网络请求还是本地处理?
加上之后log显示或者debug跟踪没有数据了吗?

u010564553
u010564553 我做的是一个for循环。用的是new Thread()方法。用debug调试,也得到数据了,就是不显示。
接近 5 年之前 回复
sasuke38
sasuke38   2013.05.07 15:50

有可能是你刷新界面的时候不是在主线程刷新

class Task extends Thread{

        @Override
        public void run() {
            //read data

            handler.post(new Runnable() {
                @Override
                public void run() {
                    //refresh ui

                }
            });
        }
    }
sasuke38
sasuke38 不明白你的问题不好解决啊
接近 5 年之前 回复
u010564553
u010564553 我也用这个方法了。一张图片还显示,但是很多张图片就还是没用。
接近 5 年之前 回复
haoyizsw
haoyizsw   2013.05.07 16:42

read data 那边是不是线程 如果这边是线程 明显你UI读不到了

u010564553
u010564553 恩,好的我试试,谢谢了先
接近 5 年之前 回复
haoyizsw
haoyizsw 还有你的handler写法是不是有问题 去找找线程中怎么通知UI变更
接近 5 年之前 回复
haoyizsw
haoyizsw 既然你都已经起线程了 干么还要再线程里面再取线程?当然直接把获取数据的代码放在run里面就好了 数据获取完成然后handler出去就行了
接近 5 年之前 回复
u010564553
u010564553 恩,是的,是的,那怎么办???求帮助,谢谢!!!
接近 5 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!