Android中如何解决Thread第二次Thread.start()报错

        写了一个线程去实现获取服务端数据。然后将数据解析并发送Handler给UI更新。然而线程是写在一个Button的监听器里面的,当第一次单击是获取数据并绘制界面UI,第二次是清除UI上绘制的数据,到了第三次又重新获取数据并绘制,如此循环……

        于是问题出现了,当第三次点击Button的时候,就是第二次start()的时候,系统抛出异常:java.lang.IllegalThreadStateException: Thread already started.于是就想着先stop(),然后再start()。发现不可以,stop的时候报了未实现的方法异常。说法是线程不用手动停止或者关闭,自己运行到程序尾部的时候会自动关闭。

    后来发现了个方法。觉得相对来说最合理解决问题。

1.首先新建一个Runnable对象:

Runnable myable = new Runnable() {
 
    @Override
    public void run() {
        // TODO Auto-generated method stub
 
    }
};

2.然后在需要启动的地方新建一个Thread:

new Thread(myable).start();

这样,就会每次新建一个线程了,并且它会自动运行完后关闭自身。问题解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值