onBackPressed 从后台线程设置 ArrayAdapter
onBackPressed while setting an ArrayAdapter from background thread
我正在尝试从一个可运行的线程中更新我的 UI 线程。在我按下后退按钮中断该方法之前,它工作正常。当发生这种情况时,它会从 NPE 中崩溃。如果按下后退按钮,我需要一种方法来阻止该线程更新。谢谢!
view.post ( uiRun = new Runnable() {
public void run() {
/* UI update */
areasAdapter2 = new ArrayAdapter<>(getActivity(), android.R.layout.simple_list_item_1, CL);
areasAdapter2.setDropDownViewResource(android.R.layout.simple_list_item_1);
mContactLog.setAdapter(areasAdapter2);
}
});
05-10 18:26:00.610 13511-13511/com.example.bryan.customer84 E/UncaughtException: java.lang.NullPointerException: 尝试调用虚拟方法 'java.lang.Object android.content.Context.getSystemService(java.lang.String)'空对象引用
在 android.widget.ArrayAdapter.init(ArrayAdapter.java:310)
在 android.widget.ArrayAdapter.(ArrayAdapter.java:153)
在 com.example.bryan.customer84.PhoneSearch$9.run(PhoneSearch.java:606)
在 android.os.Handler.handleCallback(Handler.java:739)
在 android.os.Handler.dispatchMessage(Handler.java:95)
在 android.os.Looper.loop(Looper.java:145)
在 android.app.ActivityThread.main(ActivityThread.java:5835)
在 java.lang.reflect.Method.invoke(本机方法)
在 java.lang.reflect.Method.invoke(Method.java:372)
在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
您正在尝试访问已被垃圾回收的 activity...在 运行() 中为 getActivity() 添加空检查!= null
我正在尝试从一个可运行的线程中更新我的 UI 线程。在我按下后退按钮中断该方法之前,它工作正常。当发生这种情况时,它会从 NPE 中崩溃。如果按下后退按钮,我需要一种方法来阻止该线程更新。谢谢!
view.post ( uiRun = new Runnable() {
public void run() {
/* UI update */
areasAdapter2 = new ArrayAdapter<>(getActivity(), android.R.layout.simple_list_item_1, CL);
areasAdapter2.setDropDownViewResource(android.R.layout.simple_list_item_1);
mContactLog.setAdapter(areasAdapter2);
}
});
05-10 18:26:00.610 13511-13511/com.example.bryan.customer84 E/UncaughtException: java.lang.NullPointerException: 尝试调用虚拟方法 'java.lang.Object android.content.Context.getSystemService(java.lang.String)'空对象引用 在 android.widget.ArrayAdapter.init(ArrayAdapter.java:310) 在 android.widget.ArrayAdapter.(ArrayAdapter.java:153) 在 com.example.bryan.customer84.PhoneSearch$9.run(PhoneSearch.java:606) 在 android.os.Handler.handleCallback(Handler.java:739) 在 android.os.Handler.dispatchMessage(Handler.java:95) 在 android.os.Looper.loop(Looper.java:145) 在 android.app.ActivityThread.main(ActivityThread.java:5835) 在 java.lang.reflect.Method.invoke(本机方法) 在 java.lang.reflect.Method.invoke(Method.java:372) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
您正在尝试访问已被垃圾回收的 activity...在 运行() 中为 getActivity() 添加空检查!= null