程序走到红框处时没有捕获异常
回到另一个界面,程序走完setText就报错:无法捕获远程异常,不管有没有下面的Toast都在这个地方报错!
怎么解?各位大佬们!!!
您的每一个用心回答,都会让这个世界变得更美好一些!
这个网友,跨进程通信的时候,走的是子线程,请不要在子线程操作ui,比如更新text,toast等等
我也遇到了这个问题,解决了,
通过Log.d(TAG, "当前线程: "+ Thread.currentThread());来判断当前线程,UI的更新和Toast不能在子线程中处理。 runOnUiThread(new Runnable @Override public void run() {} }); 将要放入主线程中的操作放在这个函数里。问题解决 r如下: public class callBackPay extends ThirPartPayResult.Stub{ @Override public void onPaySuccess() { //支付成功,修改UI上的内容 //在实际的开发中,这里是去修改数据库的内容,其实支付宝是通过回调的URL的地址,通知我们的服务器的,然后我们请求服务器更新数据 //记得对mIAliPayADIL进行判空 Log.d(TAG, "当前线程: "+ Thread.currentThread()); if (mIAliPayADIL != null) { runOnUiThread(new Runnable() { @Override public void run() { Log.d(TAG, "当前线程:: "+ Thread.currentThread()); mCount.setText("100.00"); Toast.makeText(MainActivity.this, "充值成功", Toast.LENGTH_SHORT).show(); } }); } }
这个网友,跨进程通信的时候,走的是子线程,请不要在子线程操作ui,比如更新text,toast等等
我也遇到了这个问题,解决了,