Once run my app in 5.0+ versions it working nicely. but for lower version it gives me errors and not opening up.
This is the error I'm getting:
Unable to start activity ComponentInfo{lk.myoffers.app.myofferslk/lk.myoffers.app.myofferslk.MainActivity}: android.view.InflateException: Binary XML file line #17: Error inflating class android.support.design.widget.NavigationView
- Caused by: android.view.InflateException: Binary XML file line #17: Error inflating class android.support.design.widget.NavigationView
- Caused by: java.lang.reflect.InvocationTargetException
- Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f020052
- at lk.myoffers.app.myofferslk.MainActivity.onCreate(MainActivity.java:84)
I have tried every thing on Stack Overflow but the issue is still remaining.
I'm new to android, so what could be the issue?
setContentView(R.layout.activity_main);
is in line 84.
public class MainActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener{
public static int pageCount = 1;
private int totalLoadedCount;
private AdListAdapter adapter;
TextView txtUserName;
Button btnReconnect;
private static String LIST_INSTANCE_STATE = "items";
private ArrayList<AdList> adLists = new ArrayList<AdList>();
private ArrayList<MasterCategory> mstCategory = new ArrayList<MasterCategory>();
private MasterCategoryAdapter catAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
totalLoadedCount = 0;
My activity_main:
<?xml version="1.0" encoding="utf-8"?>
<include
layout="@layout/app_bar_main"
android:id="@+id/aa"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer"
/>
My Android manifest file:
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme1"
android:configChanges="orientation|keyboardHidden|screenSize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
and for the style.xml i have following code lines
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="AppTheme1" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:button">@color/colorButton</item>
</style>
<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">#673AB7</item>
<item name="colorPrimaryDark">#512DA8</item>
<item name="colorAccent">#00BCD4</item>
</style>
<style name="MIP_theme" parent="AppTheme">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
I have tried every thing, but it's not working on Android lower than 5 Gradle version set
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:design:23.4.0'
The minimum version is 23.
Here is my build.gradle
android {
compileSdkVersion 23
buildToolsVersion "24.0.1"
defaultConfig {
applicationId "lk.myoffers.app.myofferslk"
minSdkVersion 14
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:design:23.4.0'
compile 'com.loopj.android:android-async-http:1.4.9'
compile 'com.github.darsh2:MultipleImageSelect:v0.0.4'
compile 'com.loopj.android:android-async-http:1.4.9'
compile 'com.android.volley:volley:1.0.0'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.android.support:cardview-v7:23.4.0'
compile 'com.android.support:recyclerview-v7:23.4.0'
}
Finally after many days and after doing many debugs thanks to #0X0nosugar I have checked the navigationview by removing
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer
these two line separately and check the android monitor for errors
removing app:headerLayout="@layout/nav_header_main" doesn't make any changes gives me the same error
But after removing app:menu="@menu/activity_main_drawer" app works fine and load the left side navigation with no menu item. so as you can see in my error list it says Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f020052
So I checked by removing custom vector icons in menu item I placed in my activity_main_drawer in res->menu . Its now working fine. problem with a one
now its working fine.. Everyone who get this issue check your console. if its says "ResourceNotFoundException" this Error inflating class android.support.design.widget.NavigationView probably rising from one of the menu icon.. Finally Works for me! Thanks everyone for your great support