1.Android 子线程和UI的问题
来源:互联网 发布:手机怎么备份所有数据 编辑:程序博客网 时间:2024/06/05 06:58
真切感受到了,主线程不能尝试网络连接的意思。我一个类,类的构造函数里面我准备初始化socket,然后主Activity点击按钮,例化类,调试到例化类,直接跑飞了,都不能定位在哪一行了。。。然后就显示不好意思,我得退出了。
当然这个问题现在解决了,把socket建立放到了类的线程里面,但是现在退出好像有点问题,应该是没有正常退出线程吧。
先看解决办法,好吧,使用状态位,想想,C++的线程,好像也是这么处理的。
关闭还是关闭不了,好像阻塞了,先解决接受不了信息这个问题。查出来是,我在第二个java里需要访问Activity的资源,我用的是 ((EditText)activity.findViewById(R.id.Tmp_view)).setText(s);强行来,貌似报错了。然后我就传递个TextEdit,也不让我用text_view.setText(s);蛋疼
问题越来越神奇了,现在我传递MainActivity,然后呢,调用他的函数来设置EditText,也进去了报错了,我真是
现在改成再不行,我真的报警了
为啥呢,还是不行,走到中间这句话就不行了,放到同一个类下也不行
终于tn的好了,先总结如下。确定问题的一般步骤是,利用debug模式,去调试pad,然后比如出现了异常,logcat里面会显示错误,像我这:为啥没错误呢,因为错误的时候没截图,哈哈哈。。就这个意思
然后知道错误了,去百度这个错误,确定是子线程不能去修改主线程的UI(所以,我接收到数据后,调用显示函数,就是子线程想改ui)。知道问题后,百度起来就顺利多了
利用handler,来解决这个问题,直接贴代码了:
主线程端:
就是这样子,前面private Handler什么的就不截图了
子线程端:
忽略内容,我是把MainActivity传过来的,不知道好不好,应该是不好,因为这样,我还是会手贱的利用这个干吗干吗,不安全不是么,试试传handler吧
也是行的,好吧啦,传handler好了。
稍微加加注释,解决下一个问题吧。
- 1.Android 子线程和UI的问题
- 关于Android子线程不能更新UI的问题
- [Android开发常见问题-7] 多线程开发的几种方式和子线程操作UI线程控件的问题
- Android Thread子线程和主线程的UI交互
- Android UI主线程和子线程
- Android子线程更新UI的方法
- Android线程1 Handler处理更新UI子线程问题
- UI线程和子线程报错问题
- android使用ExecutorService来处理子线程与UI线程的通讯问题
- Android UI线程和子线程共享数据
- android post和get请求 && 子线程获取UI线程的值
- android UI线程和子线程的几种交互方式
- Android线程的三种用法和子线程更新UI两种用法
- 【Android】安卓开发之通过本地广播实现子线程和UI线程的通信
- Android 子线程和UI线程(主线程)的几种交互方式
- Android中UI线程(主线程)和子线程间的通讯方式比较
- Android中UI线程与子线程的通信
- 老问题:Android子线程中更新UI的3种方法
- 虚拟机的选用技巧
- UVa11212
- 浅谈&&和||的区别
- tcp缓冲区满的问题
- Codeforces Round #423 (Div. 2) A. Restaurant Tables(水题)
- 1.Android 子线程和UI的问题
- 解决windows10系统安装ie显示ie已安装却找不到ie的问题
- 第6章 关于Greenplum的数据库统计
- caller与callee
- JAVA面试相关问题整理
- template_swap_in_c
- 菜鸟先飞之JAVA_JAVA发展史
- cf 828A
- 浅谈C++多态性