![]() ![]() ![]() ![]() |
|||||
|
|||||
樓主 許假左 ![]()
![]() |
不知道她為啥程式會閃退 它顯示 E/AndroidRuntime: FATAL EXCEPTION: OkHttp Dispatcher Process: com.example.rfid_pc1.myapplication, PID: 2129 android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views. at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:6118) at android.view.ViewRootImpl.focusableViewAvailable(ViewRootImpl.java:2824) at android.view.ViewGroup.focusableViewAvailable(ViewGroup.java:650) at android.view.ViewGroup.focusableViewAvailable(ViewGroup.java:650) at android.view.ViewGroup.focusableViewAvailable(ViewGroup.java:650) at android.view.ViewGroup.focusableViewAvailable(ViewGroup.java:650) at android.view.ViewGroup.focusableViewAvailable(ViewGroup.java:650) at android.view.ViewGroup.focusableViewAvailable(ViewGroup.java:650) at android.view.View.setFlags(View.java:8878) at android.view.View.setFocusable(View.java:6093) at android.widget.TextView.fixFocusableAndClickableSettings(TextView.java:1673) at android.widget.TextView.setMovementMethod(TextView.java:1663) at android.widget.TextView.setText(TextView.java:3763) at android.widget.TextView.setText(TextView.java:3671) at android.widget.TextView.setText(TextView.java:3646) at com.example.rfid_pc1.myapplication.MainActivity$2.onResponse(MainActivity.java:193) at okhttp3.RealCall$AsyncCall.execute(RealCall.java:153) at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) at java.lang.Thread.run(Thread.java:841) |
1樓 |
Android 有一條UI執行續 只能用UI執行續來更新畫面
而OkHttpClient 是建立新的執行續 抓取網路資源 必須透過handler來更新畫面 不然就是直接使用 runOnUiThread handler更新畫面的範例 你網路上找都有資料
本篇文章回覆於2018-05-16 14:01
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
2樓 |
你的前端有正常嗎?
印象中前端異常也會出現閃退, 如果前端正常就逐步執行Debug試試看吧.
本篇文章回覆於2018-05-17 12:07
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
3樓
作者回應
許假左 ![]() |
1. 前端正常?是指哪裡 我這個程式一個一個分開用都能 不過組起來就不行了 主要是組了去選擇不同PHP那部份後才出現問題
2. 那這個 runOnUiThread 是要用在哪呢?
本篇文章回覆於2018-05-17 12:39
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
4樓 |
在HttpOK執行的onResponse
本篇文章回覆於2018-05-17 13:52
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
5樓
作者回應
許假左 ![]() |
要把 public void onResponse 裡的東西全都用 runOnUiThread(new Runnable() {
@Override public void run() { 包住嗎? 我包住後有的變數會錯誤耶
本篇文章回覆於2018-05-18 13:52
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
6樓
作者回應
許假左 ![]() |
是像這樣嗎?
本篇文章回覆於2018-05-18 14:00
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
7樓
作者回應
許假左 ![]() |
她錯誤顯示 Variable 'response' is accessed from within inner class, needs to be declared final
本篇文章回覆於2018-05-18 14:02
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
8樓 |
needs to be declared "final"
本篇文章回覆於2018-05-18 15:26
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
9樓
最有價值解答
Silent ![]() |
本篇文章回覆於2018-05-18 15:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
回覆 |
如要回應,請先登入. |