Note that there are some explanatory texts on larger screens.

plurals
  1. POResource cannot be found, No identifier for missing item
    primarykey
    data
    text
    <p>I looked at this question however, it did not help solve my problem:</p> <ul> <li><a href="https://stackoverflow.com/questions/10376537/resourcesnotfoundexception-resource-is-not-a-drawable">Resources$NotFoundException: Resource is not a Drawable</a></li> </ul> <p>I'm using ActionBarSherlock (version 4.4) within my app for compatibility in older versions. My app runs perfect on 4.1.2 but it crashes on 2.3.3. The app runs all the way up to the point of <code>mDrawerLayout.closeDrawer(mDrawerList);</code> then it crashes after that. I cannot figure out what is causing it to crash on older versions. I have a feeling that it is because it is trying to use something that doesn't exist in that version however, I cannot pinpoint what it is using. Does anyone see any code that seems wrong?</p> <p>The error in the logcat: <code>Caused by: android.content.res.Resources$NotFoundException: Resource is not a Drawable (color or path): TypedValue{t=0x2/d=0x10102fd a=-1}</code></p> <p><strong>Logcat Error</strong></p> <pre><code>08-15 21:01:04.967: E/AndroidRuntime(789): FATAL EXCEPTION: main 08-15 21:01:04.967: E/AndroidRuntime(789): android.view.InflateException: Binary XML file line #17: Error inflating class &lt;unknown&gt; 08-15 21:01:04.967: E/AndroidRuntime(789): at android.view.LayoutInflater.createView(LayoutInflater.java:518) 08-15 21:01:04.967: E/AndroidRuntime(789): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) 08-15 21:01:04.967: E/AndroidRuntime(789): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:568) 08-15 21:01:04.967: E/AndroidRuntime(789): at android.view.LayoutInflater.inflate(LayoutInflater.java:386) 08-15 21:01:04.967: E/AndroidRuntime(789): at android.view.LayoutInflater.inflate(LayoutInflater.java:320) 08-15 21:01:04.967: E/AndroidRuntime(789): at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:332) 08-15 21:01:04.967: E/AndroidRuntime(789): at android.widget.ArrayAdapter.getView(ArrayAdapter.java:323) 08-15 21:01:04.967: E/AndroidRuntime(789): at android.widget.AbsListView.obtainView(AbsListView.java:1430) 08-15 21:01:04.967: E/AndroidRuntime(789): at android.widget.ListView.makeAndAddView(ListView.java:1745) 08-15 21:01:04.967: E/AndroidRuntime(789): at android.widget.ListView.fillDown(ListView.java:670) 08-15 21:01:04.967: E/AndroidRuntime(789): at android.widget.ListView.fillFromTop(ListView.java:727) 08-15 21:01:04.967: E/AndroidRuntime(789): at android.widget.ListView.layoutChildren(ListView.java:1598) 08-15 21:01:04.967: E/AndroidRuntime(789): at android.widget.AbsListView.onLayout(AbsListView.java:1260) 08-15 21:01:04.967: E/AndroidRuntime(789): at android.view.View.layout(View.java:7175) 08-15 21:01:04.967: E/AndroidRuntime(789): at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:702) 08-15 21:01:04.967: E/AndroidRuntime(789): at android.view.View.layout(View.java:7175) 08-15 21:01:04.967: E/AndroidRuntime(789): at android.widget.FrameLayout.onLayout(FrameLayout.java:338) 08-15 21:01:04.967: E/AndroidRuntime(789): at android.view.View.layout(View.java:7175) 08-15 21:01:04.967: E/AndroidRuntime(789): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1254) 08-15 21:01:04.967: E/AndroidRuntime(789): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1130) 08-15 21:01:04.967: E/AndroidRuntime(789): at android.widget.LinearLayout.onLayout(LinearLayout.java:1047) 08-15 21:01:04.967: E/AndroidRuntime(789): at android.view.View.layout(View.java:7175) 08-15 21:01:04.967: E/AndroidRuntime(789): at android.widget.FrameLayout.onLayout(FrameLayout.java:338) 08-15 21:01:04.967: E/AndroidRuntime(789): at android.view.View.layout(View.java:7175) 08-15 21:01:04.967: E/AndroidRuntime(789): at android.widget.FrameLayout.onLayout(FrameLayout.java:338) 08-15 21:01:04.967: E/AndroidRuntime(789): at android.view.View.layout(View.java:7175) 08-15 21:01:04.967: E/AndroidRuntime(789): at android.view.ViewRoot.performTraversals(ViewRoot.java:1140) 08-15 21:01:04.967: E/AndroidRuntime(789): at android.view.ViewRoot.handleMessage(ViewRoot.java:1859) 08-15 21:01:04.967: E/AndroidRuntime(789): at android.os.Handler.dispatchMessage(Handler.java:99) 08-15 21:01:04.967: E/AndroidRuntime(789): at android.os.Looper.loop(Looper.java:123) 08-15 21:01:04.967: E/AndroidRuntime(789): at android.app.ActivityThread.main(ActivityThread.java:3683) 08-15 21:01:04.967: E/AndroidRuntime(789): at java.lang.reflect.Method.invokeNative(Native Method) 08-15 21:01:04.967: E/AndroidRuntime(789): at java.lang.reflect.Method.invoke(Method.java:507) 08-15 21:01:04.967: E/AndroidRuntime(789): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 08-15 21:01:04.967: E/AndroidRuntime(789): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 08-15 21:01:04.967: E/AndroidRuntime(789): at dalvik.system.NativeStart.main(Native Method) 08-15 21:01:04.967: E/AndroidRuntime(789): Caused by: java.lang.reflect.InvocationTargetException 08-15 21:01:04.967: E/AndroidRuntime(789): at java.lang.reflect.Constructor.constructNative(Native Method) 08-15 21:01:04.967: E/AndroidRuntime(789): at java.lang.reflect.Constructor.newInstance(Constructor.java:415) 08-15 21:01:04.967: E/AndroidRuntime(789): at android.view.LayoutInflater.createView(LayoutInflater.java:505) 08-15 21:01:04.967: E/AndroidRuntime(789): ... 35 more 08-15 21:01:04.967: E/AndroidRuntime(789): Caused by: android.content.res.Resources$NotFoundException: Resource is not a Drawable (color or path): TypedValue{t=0x2/d=0x10102fd a=-1} 08-15 21:01:04.967: E/AndroidRuntime(789): at android.content.res.Resources.loadDrawable(Resources.java:1681) 08-15 21:01:04.967: E/AndroidRuntime(789): at android.content.res.TypedArray.getDrawable(TypedArray.java:601) 08-15 21:01:04.967: E/AndroidRuntime(789): at android.view.View.&lt;init&gt;(View.java:1951) 08-15 21:01:04.967: E/AndroidRuntime(789): at android.widget.TextView.&lt;init&gt;(TextView.java:344) 08-15 21:01:04.967: E/AndroidRuntime(789): at android.widget.TextView.&lt;init&gt;(TextView.java:337) 08-15 21:01:04.967: E/AndroidRuntime(789): ... 38 more </code></pre> <p><strong>styles.xml from values folder:</strong></p> <pre><code>&lt;resources&gt; &lt;style name="AppBaseTheme" parent="Theme.Sherlock.Light.DarkActionBar"&gt; &lt;/style&gt; &lt;style name="AppTheme" parent="AppBaseTheme"&gt; &lt;/style&gt; &lt;/resources&gt; </code></pre> <p><strong>Java file</strong></p> <pre><code>protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub setTheme(R.style.Theme_Sherlock); super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.d(TAG,"Set Content View"); mTitle = (String) getTitle(); ChemTitles = getResources().getStringArray(R.array.chemistrycalcstrings); mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); mDrawerList = (ListView) findViewById(R.id.left_drawer); mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START); mDrawerList.setAdapter(new ArrayAdapter&lt;String&gt;(this, R.layout.drawer_list_item, ChemTitles)); mDrawerList.setOnItemClickListener(new DrawerItemClickListener()); getSupportActionBar().setDisplayHomeAsUpEnabled(true); Log.d(TAG,"Set Display Home"); getSupportActionBar().setHomeButtonEnabled(true); Log.d(TAG,"Set Home Button"); Log.d(TAG,"Setting ActbarDrawerToggle"); mDrawerToggle = new ActionBarDrawerToggle( this, mDrawerLayout, R.drawable.ic_drawer, R.string.drawer_open, R.string.drawer_close ) { public void onDrawerClosed(View view){ getSupportActionBar().setTitle(mTitle); getSherlock().dispatchInvalidateOptionsMenu(); Log.d(TAG,"Drawer CLosing"); } public void onDrawerOpened(View drawerView){ getSupportActionBar().setTitle(mDrawerTitle); getSherlock().dispatchInvalidateOptionsMenu(); Log.d(TAG,"Drawer Opening"); } }; Log.d(TAG,"Set ActbarDrawerToggle"); mDrawerLayout.setDrawerListener(mDrawerToggle); Log.d(TAG,"Set ActbarDrawerToggle Listener"); if (savedInstanceState == null){ selectItem(0); } } private void selectItem(int position){ SherlockFragment frag = new TestFrament(); Bundle args = new Bundle(); args.putInt(TestFrament.ITEM_SEL, position); frag.setArguments(args); getSupportFragmentManager().beginTransaction().replace(R.id.content_frame, frag).commit(); mDrawerList.setItemChecked(position, true); setTitle(ChemTitles[position]); mDrawerLayout.closeDrawer(mDrawerList); } </code></pre> <p><strong>EDIT/UPDATE</strong></p> <p>I went through and commented out all the parts that involved the listview <code>mDrawerList</code> and the application fired right up with a working actionbar just no listview in the drawer.</p> <p>Layout activity_main.xml</p> <pre><code>&lt;android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent"&gt; &lt;!-- As the main content view, the view below consumes the entire space available using match_parent in both dimensions. --&gt; &lt;LinearLayout android:id="@+id/content_frame" android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent" /&gt; &lt;!-- android:layout_gravity="start" tells DrawerLayout to treat this as a sliding drawer on the left side for left-to-right languages and on the right side for right-to-left languages. The drawer is given a fixed width in dp and extends the full height of the container. A solid background is used for contrast with the content view. --&gt; &lt;ListView android:id="@+id/left_drawer" android:layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="start" android:choiceMode="singleChoice" android:divider="@android:color/transparent" android:dividerHeight="0dp" android:background="#111"/&gt; &lt;/android.support.v4.widget.DrawerLayout&gt; </code></pre> <p>drawer_list_item.xml</p> <pre><code>&lt;TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/text1" android:layout_width="match_parent" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceListItemSmall" android:gravity="center_vertical" android:paddingLeft="16dp" android:paddingRight="16dp" android:textColor="#fff" android:background="?android:attr/activatedBackgroundIndicator" android:minHeight="?android:attr/listPreferredItemHeightSmall"/&gt; </code></pre> <p>test_fragment_layout.xml</p> <pre><code>&lt;TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/fragTextSherlock" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#FFFFFF" android:gravity="center" android:padding="32dp" /&gt; </code></pre> <p>TestFragment.java</p> <pre><code>public class TestFrament extends SherlockFragment { public static final String ITEM_SEL = "item_selected"; private TextView fragtv; public TestFrament() { // Empty constructor required for fragment subclasses } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.test_fragment_layout, container, false); int i = getArguments().getInt(ITEM_SEL); fragtv = (TextView) rootView.findViewById(R.id.fragTextSherlock); fragtv.setText(String.valueOf(i)); return rootView; } } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
 

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