前几天遇到了很奇怪的问题,已解决。希望有大牛可以一起来探讨一下。
应用场景:
在一个Activity里,有一个searchView,每次搜索框里的文字变动的时候,就重新生成一次Fragment。
因为搜索的网络操作线程在fragment里,因此在fragment里,初始化的时候会执行一个线程,在线程中有一个getActivity().runOnUiThread(new Runnable{...})的方法来在获取到返回的json之后更新列表。无论new Runnable的内部类里写什么,如果频繁地出发getActivity().runOnUiThread(new Runnable{...})这句话(比如用户隔0.5秒删一个字触发fragment的重建),就会出错。用文中的new Thread(...).start就会报nullpointerexception的错。Log如下
03-15 20:12:25.912 31532-2243/cn.example.app E/AndroidRuntime: FATAL EXCEPTION: Thread-10820
Process: cn.example.app, PID: 31532
java.l