NullPointerException in TestAttributeSet

80 views
Skip to first unread message

Karussell

unread,
Mar 8, 2012, 10:35:08 AM3/8/12
to robol...@googlegroups.com
I'm having problems with a ListView

https://github.com/pivotal/robolectric/issues/193

Here is the full exception* which contains indications that something is wrong with ImageView. But removing the ImageView yields in another similar exception** now with 'Button' problems.

Probably it is really the fact I mentioned in the issue above?

Could someone point me in the correct direction what I could fix in robolectric? I could prepare a test project if someone would have interests to solve this.

Regards,
Peter.

*

Caused by: java.lang.NullPointerException

at com.xtremelabs.robolectric.tester.android.util.TestAttributeSet.getAttributeResourceValue(TestAttributeSet.java:134)

at com.xtremelabs.robolectric.shadows.ShadowImageView.applyImageAttribute(ShadowImageView.java:150)

at com.xtremelabs.robolectric.shadows.ShadowImageView.applyAttributes(ShadowImageView.java:30)

at com.xtremelabs.robolectric.shadows.ShadowView.__constructor__(ShadowView.java:89)

at com.xtremelabs.robolectric.shadows.ShadowView.__constructor__(ShadowView.java:81)

at android.widget.ImageView.<init>(ImageView.java)

at com.xtremelabs.robolectric.res.ViewLoader$ViewNode.constructView(ViewLoader.java:192)

at com.xtremelabs.robolectric.res.ViewLoader$ViewNode.create(ViewLoader.java:172)

at com.xtremelabs.robolectric.res.ViewLoader$ViewNode.inflate(ViewLoader.java:147)

at com.xtremelabs.robolectric.res.ViewLoader$ViewNode.inflate(ViewLoader.java:150)

at com.xtremelabs.robolectric.res.ViewLoader$ViewNode.inflate(ViewLoader.java:150)

at com.xtremelabs.robolectric.res.ViewLoader.inflateView(ViewLoader.java:99)

at com.xtremelabs.robolectric.res.ViewLoader.inflateView(ViewLoader.java:79)

at com.xtremelabs.robolectric.res.ViewLoader.inflateView(ViewLoader.java:83)

at com.xtremelabs.robolectric.res.ResourceLoader.inflateView(ResourceLoader.java:346)

at com.xtremelabs.robolectric.shadows.ShadowLayoutInflater.inflate(ShadowLayoutInflater.java:43)

at com.xtremelabs.robolectric.shadows.ShadowLayoutInflater.inflate(ShadowLayoutInflater.java:48)

at android.view.LayoutInflater.inflate(LayoutInflater.java)

at com.xtremelabs.robolectric.shadows.ShadowActivity.setContentView(ShadowActivity.java:105)

at android.app.Activity.setContentView(Activity.java)

at com.company.test.OverviewActivity.onCreate(OverviewActivity.java:59)


**
Caused by: java.lang.NullPointerException
at com.xtremelabs.robolectric.tester.android.util.TestAttributeSet.getAttributeResourceValue(TestAttributeSet.java:134)
at com.xtremelabs.robolectric.shadows.ShadowView.applyIdAttribute(ShadowView.java:679)
at com.xtremelabs.robolectric.shadows.ShadowView.applyAttributes(ShadowView.java:94)
at com.xtremelabs.robolectric.shadows.ShadowTextView.applyAttributes(ShadowTextView.java:53)
at com.xtremelabs.robolectric.shadows.ShadowButton.applyAttributes(ShadowButton.java:12)
at com.xtremelabs.robolectric.shadows.ShadowView.__constructor__(ShadowView.java:89)
at com.xtremelabs.robolectric.shadows.ShadowView.__constructor__(ShadowView.java:81)
at android.widget.Button.<init>(Button.java)
at com.xtremelabs.robolectric.res.ViewLoader$ViewNode.constructView(ViewLoader.java:192)
at com.xtremelabs.robolectric.res.ViewLoader$ViewNode.create(ViewLoader.java:172)
at com.xtremelabs.robolectric.res.ViewLoader$ViewNode.inflate(ViewLoader.java:147)
at com.xtremelabs.robolectric.res.ViewLoader$ViewNode.inflate(ViewLoader.java:150)
at com.xtremelabs.robolectric.res.ViewLoader$ViewNode.inflate(ViewLoader.java:150)
at com.xtremelabs.robolectric.res.ViewLoader.inflateView(ViewLoader.java:99)
at com.xtremelabs.robolectric.res.ViewLoader.inflateView(ViewLoader.java:79)
at com.xtremelabs.robolectric.res.ViewLoader.inflateView(ViewLoader.java:83)
at com.xtremelabs.robolectric.res.ResourceLoader.inflateView(ResourceLoader.java:346)
at com.xtremelabs.robolectric.shadows.ShadowLayoutInflater.inflate(ShadowLayoutInflater.java:43)
at com.xtremelabs.robolectric.shadows.ShadowLayoutInflater.inflate(ShadowLayoutInflater.java:48)
at android.view.LayoutInflater.inflate(LayoutInflater.java)
at com.xtremelabs.robolectric.shadows.ShadowActivity.setContentView(ShadowActivity.java:105)
at android.app.Activity.setContentView(Activity.java)

Karussell

unread,
Mar 9, 2012, 6:09:14 AM3/9/12
to robol...@googlegroups.com
A simple quick fix was to use a normal activity and load the listview. instead of this uncommon usage of a listview with multiple childs. see the issue

Regards,
Peter.

Matthias

unread,
Mar 23, 2012, 10:31:36 AM3/23/12
to robol...@googlegroups.com
Is there a way of implementing your own TestAttributeSet and have Robolectric use it, or override the existing one? There's another issue with it that I just raised: https://github.com/pivotal/robolectric/issues/217

Not sure what the proper way is to fix this in the library.
Reply all
Reply to author
Forward
0 new messages