Closed GoogleCodeExporter closed 9 years ago
It's only a demo problem - on some android versions. I think I fixed it (added
protection against Null values from savedBundleInstance).
Original comment by ja...@potiuk.com
on 4 Jul 2013 at 4:05
Thanks for help. Unfortunately fix doesn't work.
Still the same NPE.
Caused by: java.lang.NullPointerException
at pl.polidea.treeview.InMemoryTreeStateManager.registerDataSetObserver(InMemoryTreeStateManager.java:315)
at pl.polidea.treeview.AbstractTreeViewAdapter.registerDataSetObserver(AbstractTreeViewAdapter.java:100)
at android.widget.ListView.setAdapter(ListView.java:464)
at pl.polidea.treeview.TreeViewList.setAdapter(TreeViewList.java:92)
at pl.polidea.treeview.demo.TreeViewListDemo.setTreeAdapter(TreeViewListDemo.java:99)
at pl.polidea.treeview.demo.TreeViewListDemo.onCreate(TreeViewListDemo.java:82)
at android.app.Activity.performCreate(Activity.java:4465)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
... 11 more
Original comment by gtra...@gmail.com
on 5 Jul 2013 at 8:18
I agree with #2, the issue is not fixed yet. I experienced the same on my 4.4.2
device with "Don't keep activities" enabled.
The problem is the declaration of "private transient Set<DataSetObserver>
observers". Since the object is transient it will not be serialized when the
activity is killed and therefore it will be null when the activity is recreated.
I fixed it quick and dirty by changing the declaration to (no initialization
here)
private transient Set<DataSetObserver> observers;
Then I initialize the object in the methods registerDataSetObserver and
unregisterDataSetObserver:
if (observers == null) observers = new HashSet<DataSetObserver>();
This fixed the issue for me, however, this is a quite dirty approach. Comments
welcome.
Original comment by qlx...@gmail.com
on 17 Jun 2014 at 9:42
Original issue reported on code.google.com by
gtra...@gmail.com
on 4 Jul 2013 at 9:46