Ich habe ein listView
und ich verwende ArrayAdapter.addAll
die data.I laden möchte ListView.getChild(0)
nach ArrayAdapter.addAll
bei once.But Gebrauch verwenden NullPointerException
geworfen wurde.Verwenden Handler.post() Listview zu aktualisieren
Ich versuche, die ListView.getChild(0)
an die MessageQueue
mit Handler.post hinzuzufügen.Die App funktioniert manchmal seit wie ich das tun, aber manchmal die NullPointerException
wurde auch geworfen.
Mein Code:
mRightAdapter.addAll(mRightDisplayDatas);
mHandler.post(new Runnable() {
@Override public void run() {
((TextView) mLeftListView.getChildAt(0)).setCompoundDrawablesWithIntrinsicBounds(null, null, getResources().getDrawable(R.mipmap.ic_right, mContext.getTheme()), null);
}
});
log:
FATAL EXCEPTION: main
Process: com.buledon.volunteerapp, PID: 4787
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setCompoundDrawablesWithIntrinsicBounds(android.graphics.drawable.Drawable, android.graphics.drawable.Drawable, android.graphics.drawable.Drawable, android.graphics.drawable.Drawable)' on a null object reference
at com.buledon.volunteerapp.widget.CitySelectView$3.run(CitySelectView.java:130)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5669)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:960)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
bitte zugehörigen Code zeigt zusammen mit Abfrage wird besser understading gibt –
nur 2 Zeilen Code –
Bitte teilen Sie Ihre stacktrace, wenn Sie eine NPE haben – 0xDEADC0DE