0
Я хочу обновить адаптер listview внутри run на ui thread.update listview adapter внутри run on ui метод потока
Вот мой код:
@Override
public void addItem(final String data) {
runOnUiThread(new Runnable() {
@Override
public void run() {
list.setAdapter(new ListAdapter(MainActivity.this, data, width, height));
}
});
}
теперь моя проблема в том, что этот код всегда генерирует исключение, и на самом деле я не почему и в чем причина исключения ..
Вот сведения об исключении:
12-17 14:48:13.241: E/AndroidRuntime(26289): FATAL EXCEPTION: main
12-17 14:48:13.241: E/AndroidRuntime(26289): java.lang.NullPointerException
12-17 14:48:13.241: E/AndroidRuntime(26289): at android.widget.ListView.setupChild(ListView.java:1797)
12-17 14:48:13.241: E/AndroidRuntime(26289): at android.widget.ListView.makeAndAddView(ListView.java:1775)
12-17 14:48:13.241: E/AndroidRuntime(26289): at android.widget.ListView.fillDown(ListView.java:672)
12-17 14:48:13.241: E/AndroidRuntime(26289): at android.widget.ListView.fillFromTop(ListView.java:732)
12-17 14:48:13.241: E/AndroidRuntime(26289): at android.widget.ListView.layoutChildren(ListView.java:1625)
12-17 14:48:13.241: E/AndroidRuntime(26289): at android.widget.AbsListView.onLayout(AbsListView.java:1863)
12-17 14:48:13.241: E/AndroidRuntime(26289): at android.view.View.layout(View.java:11282)
12-17 14:48:13.241: E/AndroidRuntime(26289): at android.view.ViewGroup.layout(ViewGroup.java:4224)
12-17 14:48:13.241: E/AndroidRuntime(26289): at android.widget.RelativeLayout.onLayout(RelativeLayout.java:925)
12-17 14:48:13.241: E/AndroidRuntime(26289): at android.view.View.layout(View.java:11282)
12-17 14:48:13.241: E/AndroidRuntime(26289): at android.view.ViewGroup.layout(ViewGroup.java:4224)
12-17 14:48:13.241: E/AndroidRuntime(26289): at android.widget.RelativeLayout.onLayout(RelativeLayout.java:925)
12-17 14:48:13.241: E/AndroidRuntime(26289): at android.view.View.layout(View.java:11282)
12-17 14:48:13.241: E/AndroidRuntime(26289): at android.view.ViewGroup.layout(ViewGroup.java:4224)
12-17 14:48:13.241: E/AndroidRuntime(26289): at android.widget.FrameLayout.onLayout(FrameLayout.java:431)
12-17 14:48:13.241: E/AndroidRuntime(26289): at android.view.View.layout(View.java:11282)
12-17 14:48:13.241: E/AndroidRuntime(26289): at android.view.ViewGroup.layout(ViewGroup.java:4224)
12-17 14:48:13.241: E/AndroidRuntime(26289): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1628)
12-17 14:48:13.241: E/AndroidRuntime(26289): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1486)
12-17 14:48:13.241: E/AndroidRuntime(26289): at android.widget.LinearLayout.onLayout(LinearLayout.java:1399)
12-17 14:48:13.241: E/AndroidRuntime(26289): at android.view.View.layout(View.java:11282)
12-17 14:48:13.241: E/AndroidRuntime(26289): at android.view.ViewGroup.layout(ViewGroup.java:4224)
12-17 14:48:13.241: E/AndroidRuntime(26289): at android.widget.FrameLayout.onLayout(FrameLayout.java:431)
12-17 14:48:13.241: E/AndroidRuntime(26289): at android.view.View.layout(View.java:11282)
12-17 14:48:13.241: E/AndroidRuntime(26289): at android.view.ViewGroup.layout(ViewGroup.java:4224)
12-17 14:48:13.241: E/AndroidRuntime(26289): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1514)
12-17 14:48:13.241: E/AndroidRuntime(26289): at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2467)
12-17 14:48:13.241: E/AndroidRuntime(26289): at android.os.Handler.dispatchMessage(Handler.java:99)
12-17 14:48:13.241: E/AndroidRuntime(26289): at android.os.Looper.loop(Looper.java:137)
12-17 14:48:13.241: E/AndroidRuntime(26289): at android.app.ActivityThread.main(ActivityThread.java:4424)
12-17 14:48:13.241: E/AndroidRuntime(26289): at java.lang.reflect.Method.invokeNative(Native Method)
12-17 14:48:13.241: E/AndroidRuntime(26289): at java.lang.reflect.Method.invoke(Method.java:511)
12-17 14:48:13.241: E/AndroidRuntime(26289): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
12-17 14:48:13.241: E/AndroidRuntime(26289): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
12-17 14:48:13.241: E/AndroidRuntime(26289): at dalvik.system.NativeStart.main(Native Method)
Возможный дубликат [Невозможно понять NullPointerException с пользовательским адаптером] (http://stackoverflow.com/questions/2730422/cannot-understand-nullpointerexception-with-custom-adapter) – Than
нет Я уже возвратил iflated view в моем адаптере , –