Android开发中Can't toast on a thread that has not called Looper.prepare()问题 说一下问题出现场景: 在一个Android项目中,利用okhttp进行网络访问判断用户输入的账号密码,当用户密码输错时弹出 Toast 进行提示. 截取部分代码如下: 利用okhttp进行网络访问代码(其中User类是用来包装用户名和密码): import com.hzau.xiaonongfu.Entity.User; import okhttp3.…
Looper.prepare(); // Can't create handler inside thread that has not called Looper.prepare(). Toast.makeText(context,"登录超时",Toast.LENGTH_SHORT).show(); Looper.loop(); 这样子写就不会报错了: 但是他为什么报错???你是不是在子线程显示Toast了:来看一下Toast的源码: /** * Constructs an empt…
形同如下代码,在Thread中调用Toast显示错误信息: new Thread(new Runnable(){ @Override public void run() { try{ weatherData = getWeatherData(strUrl); parseJson(weatherData); }catch(Exception e){ Toast.makeText(WindowApplication.getAppContext(), e.toString(), Toast.LENGT…
原子线程调用Toast报Can't create handler inside thread that has not called Looper.prepare() 错误 今天用子线程调Toast报了一个Can't create handler inside thread that has not calledLooper.prepare()错误. 因为toast的实现需要在activity的主线程才能正常工作,所以传统的非主线程不能使toast显示在actvity上,通过Handler可以使…
MainActivity中有一个按钮,绑定了save方法 public void save(View view) { String title = titleText.getText().toString(); String timelength = lengthText.getText().toString(); ExecutorService exec = Executors.newCachedThreadPool(); exec.execute(new NewsService(getApp…
1)在Android 2.3以前,为防止ANR(Application Not Responding),Google是不赞成将网络连接等一系列耗时操作直接放到应用主线程进行的,推荐将这类操作放在子线程内:而Android 4.0版本开始,Google强制要求这类操作必须在子线程内进行,否则将抛出 NetworkOnMainThreadException 异常. (2)操作UI必须只能在主线程内进行,否则报“Can’t create handler inside thread that has n…
章出自:luchg技术交流 http://www.luchg.com 版权所有.本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源,谢谢. Android-java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare() 当我们在一个新的线程中使用android UI时,遇到这个异常 看了很多文章也还是不太清楚具体是什么原因,但是处理这个问题是很简单…
Error:Can't create handler inside thread that has not called Looper.prepare() 原代码: //利用Handler消息传递机制 final Handler myHandler = new Handler(MainActivity.this.getMainLooper()){ @Override public void handleMessage(Message msg) { super.handleMessage(msg)…
10-12 17:02:55.500: E/AndroidRuntime(28343): FATAL EXCEPTION: Timer-2 10-12 17:02:55.500: E/AndroidRuntime(28343): java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare() 10-12 17:02:55.500: E/AndroidRuntim…
代码改变世界 java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()解决办法 android Toast提示异常:java.lang.RuntimeException: Can't create handler inside thread that has not called 原因是在子线程弹Toast了, 切记,Toast只能在UI线程弹出 解决办法…