Note that there are some explanatory texts on larger screens.

plurals
  1. POCustom Layout Inflation with Fragments in Robolectric not working
    text
    copied!<p>When inflating a layout in a Fragment, with the LayoutInflater, i am getting this exception:</p> <pre><code> ./res/layout/locations_list.xml line #-1 (sorry, not yet implemented): Error inflating class com.costum.android.widget.LoadMoreListView </code></pre> <p>I figured out that this is happening when inflating a custom layout in</p> <pre><code>@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.locations_list, container, false); } </code></pre> <p><strong>Edit</strong> This is the locations_list.xml:</p> <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/white" android:orientation="vertical" &gt; &lt;com.costum.android.widget.LoadMoreListView android:id="@+id/android:list" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="0dp" /&gt; &lt;/LinearLayout&gt; </code></pre> <p>any other layout inflator works, like in this test:</p> <pre><code>@Test public void testInflator() { ActivityController&lt;SherlockFragmentActivity&gt; activityController = CustomTestRunner .startActivity(); SherlockFragmentActivity activity = activityController.get(); LayoutInflater from = LayoutInflater.from(activity); View view = from .inflate(com.twisper.R.layout.locations_list_item, null); assertNotNull(view); } </code></pre> <p>I am using Robolectric with the 2.2-SNAPSHOTs , Now my question is how could I work around this issue or how could I implement the missing functionality, the robolectric documentation is very sparse, hence I had trouble to find any starting point. </p> <p>Full Stack Trace</p> <pre><code>android.view.InflateException: XML file ./res/layout/locations_list.xml line #-1 (sorry, not yet implemented): Error inflating class com.costum.android.widget.LoadMoreListView at android.view.LayoutInflater.createView(LayoutInflater.java:613) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687) at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) at android.view.LayoutInflater.inflate(LayoutInflater.java:489) at android.view.LayoutInflater.inflate(LayoutInflater.java:396) ... Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:525) at android.view.LayoutInflater.$$robo$$LayoutInflater_1d1f_createView(LayoutInflater.java:587) at android.view.LayoutInflater.createView(LayoutInflater.java) at android.view.LayoutInflater.$$robo$$LayoutInflater_1d1f_createViewFromTag(LayoutInflater.java:687) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java) at android.view.LayoutInflater.$$robo$$LayoutInflater_1d1f_rInflate(LayoutInflater.java:746) at android.view.LayoutInflater.rInflate(LayoutInflater.java) at android.view.LayoutInflater.$$robo$$LayoutInflater_1d1f_inflate(LayoutInflater.java:489) at android.view.LayoutInflater.inflate(LayoutInflater.java) at android.view.LayoutInflater.$$robo$$LayoutInflater_1d1f_inflate(LayoutInflater.java:396) at android.view.LayoutInflater.inflate(LayoutInflater.java) ... Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -9 at java.lang.String.substring(String.java:1911) at org.robolectric.res.ResName.qualifyResName(ResName.java:50) at org.robolectric.res.Attribute.getResourceReference(Attribute.java:138) at org.robolectric.res.Attribute.qualifiedValue(Attribute.java:127) at org.robolectric.res.builder.XmlFileBuilder$XmlResourceParserImpl.qualify(XmlFileBuilder.java:316) at org.robolectric.res.builder.XmlFileBuilder$XmlResourceParserImpl.getAttributeValue(XmlFileBuilder.java:340) at org.robolectric.shadows.ShadowResources.findAttributeValue(ShadowResources.java:252) at org.robolectric.shadows.ShadowResources.attrsToTypedArray(ShadowResources.java:188) at org.robolectric.shadows.ShadowResources.access$000(ShadowResources.java:51) at org.robolectric.shadows.ShadowResources$ShadowTheme.obtainStyledAttributes(ShadowResources.java:460) </code></pre> <p>I also posted the <a href="https://github.com/robolectric/robolectric/issues/617">issue</a> on robolectrics issue tracker.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload