0

所以,我有 JSONException(API 查询),但只有当我在模拟器上运行应用程序时(在不同的虚拟设备、不同的 API 上)。该问题仅存在于一个查询中。当我在应用程序的另一个地方调用相同的数据时,它可以工作。在物理设备上,它工作得非常好。问题是模拟器上出现此错误的原因是什么,我是否应该打扰?

安卓工作室:2.2.3

错误:

E/EGL_emulation: tid 2936: eglSurfaceAttrib(1165): error 0x3009 (EGL_BAD_MATCH) E/QueryUtils: 解析城市 JSON 结果时出现问题 org.json.JSONException: org.json.JSONObject.get(JSONObject.java: 389) 在 org.json.JSONObject.getJSONObject(JSONObject.java:609) 在 com.mobileallin.polskiesmogi.QueryUtils.extractFeatureFromJson(QueryUtils.java:171) 在 com.mobileallin.polskiesmogi.QueryUtils.fetchcityData(QueryUtils.java:58) ) 在 com.mobileallin.polskiesmogi.CityLoader.loadInBackground(CityLoader.java:54) 在 com.mobileallin.polskiesmogi.CityLoader.loadInBackground(CityLoader.java:16) 在 android.content.AsyncTaskLoader.onLoadInBackground(AsyncTaskLoader.java:312)在安卓。content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:69) 在 android.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:66) 在 android.os.AsyncTask$2.call(AsyncTask.java:295) 在 java. util.concurrent.FutureTask.run(FutureTask.java:237) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)在 java.lang.Thread.run(Thread.java:818)concurrent.FutureTask.run(FutureTask.java:237) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 在 java .lang.Thread.run(Thread.java:818)concurrent.FutureTask.run(FutureTask.java:237) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 在 java .lang.Thread.run(Thread.java:818)

4

1 回答 1

0

好的,所以问题的原因非常愚蠢 - 我通过在键盘上按 Enter (搜索功能)在模拟器上提交查询。似乎按回车键不会在模拟器上以正确的方式触发 onQueryTextSubmit 方法。您需要单击模拟器上的提交按钮。

于 2017-02-15T09:40:38.197 回答