1

I have 2 problems. The first problem is that the text appears white on the emulator (android 6.0) while on my phone it's grey (android 7.0). I tried to change the textColorPrimary but as soon as I change that my application won't start anymore.

This is the styles.xml when it crashes:

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:windowActionBarOverlay">false</item>
    <item name="android:textColorPrimary">#000000</item> 
</style>

<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />

<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

</resources>

activity_navigation.xml:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">

<include
    layout="@layout/app_bar_navigation"
    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_navigation"
    app:menu="@menu/activity_navigation_drawer" />

</android.support.v4.widget.DrawerLayout>

NavigationActivity.Java:

package nl.prlg.morpoc;

import android.Manifest;
import android.app.Fragment; 
import android.app.FragmentManager;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.design.widget.NavigationView;
import android.support.v4.app.ActivityCompat;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;

import com.google.android.gms.maps.*;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;

public class NavigationActivity extends AppCompatActivity
    implements NavigationView.OnNavigationItemSelectedListener, OnMapReadyCallback {

private long backPressed;
private GoogleMap mMap;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_navigation);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
    ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
            this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
    drawer.addDrawerListener(toggle);
    toggle.syncState();

    NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
    navigationView.setNavigationItemSelectedListener(this);

    if (savedInstanceState == null) {
        onNavigationItemSelected(navigationView.getMenu().findItem(R.id.nav_list));
        navigationView.getMenu().findItem(R.id.nav_list).setChecked(true);
    }
}

@Override
public void onBackPressed() {
    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
    if (drawer.isDrawerOpen(GravityCompat.START)) {
        drawer.closeDrawer(GravityCompat.START);
    } else if (getFragmentManager().getBackStackEntryCount() > 0) {
        //super.onBackPressed();
        getFragmentManager().popBackStack();
    } else if (backPressed + 2500 > System.currentTimeMillis()) {
        super.onBackPressed();
    } else {
        this.backPressed = System.currentTimeMillis();
        Toast.makeText(this, "Druk nog een keer op de terug knop om af te sluiten", Toast.LENGTH_SHORT).show();
    }
}

@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
    // Handle navigation view item clicks here.
    int id = item.getItemId();

    switch (id) {
        case (R.id.nav_list): {
            Fragment fragment = new OverviewFragment();
            FragmentManager fragmentManager = getFragmentManager();
            fragmentManager.beginTransaction().replace(R.id.navContent, fragment).commit();
            break;
        }
        case (R.id.nav_map): {
            MapFragment mapFragment = MapFragment.newInstance();
            mapFragment.getMapAsync(this);
            FragmentManager fragmentManager = getFragmentManager();
            fragmentManager.beginTransaction().replace(R.id.navContent, mapFragment).commit();
            break;
        }
        case (R.id.nav_logout): {
            SharedPreferences login = getSharedPreferences("login", 0);
            SharedPreferences.Editor editor = login.edit();
            editor.remove("username");
            editor.apply();

            Intent intent = new Intent(this, MainActivity.class);
            startActivity(intent);
            finish();
            break;
        }
    }

    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
    drawer.closeDrawer(GravityCompat.START);
    return true;
}

@Override
public boolean onPrepareOptionsMenu(Menu menu) {
    return false;
}




@Override
public void onMapReady(GoogleMap googleMap) {
    mMap = googleMap;

    // Add a marker in Sydney and move the camera
    LatLng sydney = new LatLng(-34, 151);
    mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
    mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));

    mMap.getUiSettings().setZoomControlsEnabled(true);
    mMap.getUiSettings().setMyLocationButtonEnabled(true);
    mMap.getUiSettings().setTiltGesturesEnabled(false);
    mMap.getUiSettings().setRotateGesturesEnabled(false);

    enableLocation();
}

private void enableLocation() {
    //Always check for permission
    if (ActivityCompat.checkSelfPermission(this, 
Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
        ActivityCompat.requestPermissions(this, new String[]
{Manifest.permission.ACCESS_FINE_LOCATION}, 1);
    } else {
        mMap.setMyLocationEnabled(true);
    }
}

@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    switch (requestCode) {
        case 1: {
            if (grantResults.length > 0 && grantResults[0] == 
PackageManager.PERMISSION_GRANTED) {
                enableLocation();
            }
        }
    }
}
}

app_bar_navigation.xml:

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="nl.prlg.morpoc.NavigationActivity">

<android.support.design.widget.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/AppTheme.AppBarOverlay">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:popupTheme="@style/AppTheme.PopupOverlay" />

</android.support.design.widget.AppBarLayout>

<!--<include layout="@layout/content_navigation" />-->
<FrameLayout
    android:id="@+id/navContent"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginTop="?attr/actionBarSize" />

</android.support.design.widget.CoordinatorLayout>

I get this error: android.view.InflateException: Binary XML file line #16

Full stacktrace:

07-28 13:41:09.164 27026-27026/nl.prlg.morpoc E/AndroidRuntime: FATAL EXCEPTION: main
                                                            Process: nl.prlg.morpoc, PID: 27026
                                                            java.lang.RuntimeException: Unable to start activity ComponentInfo{nl.prlg.morpoc/nl.prlg.morpoc.NavigationActivity}: android.view.InflateException: Binary XML file line #16: Binary XML file line #16: Error inflating class android.support.design.widget.NavigationView
                                                                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
                                                                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
                                                                at android.app.ActivityThread.-wrap11(ActivityThread.java)
                                                                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
                                                                at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                at android.os.Looper.loop(Looper.java:148)
                                                                at android.app.ActivityThread.main(ActivityThread.java:5417)
                                                                at java.lang.reflect.Method.invoke(Native Method)
                                                                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
                                                             Caused by: android.view.InflateException: Binary XML file line #16: Binary XML file line #16: Error inflating class android.support.design.widget.NavigationView
                                                                at android.view.LayoutInflater.inflate(LayoutInflater.java:539)
                                                                at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
                                                                at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
                                                                at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:292)
                                                                at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
                                                                at nl.prlg.morpoc.NavigationActivity.onCreate(NavigationActivity.java:35)
                                                                at android.app.Activity.performCreate(Activity.java:6237)
                                                                at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
                                                                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
                                                                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
                                                                at android.app.ActivityThread.-wrap11(ActivityThread.java) 
                                                                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
                                                                at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                at android.os.Looper.loop(Looper.java:148) 
                                                                at android.app.ActivityThread.main(ActivityThread.java:5417) 
                                                                at java.lang.reflect.Method.invoke(Native Method) 
                                                                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                                                                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
                                                             Caused by: android.view.InflateException: Binary XML file line #16: Error inflating class android.support.design.widget.NavigationView
                                                                at android.view.LayoutInflater.createView(LayoutInflater.java:645)
                                                                at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764)
                                                                at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
                                                                at android.view.LayoutInflater.rInflate(LayoutInflater.java:835)
                                                                at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
                                                                at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
                                                                at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
                                                                at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
                                                                at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:292) 
                                                                at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 
                                                                at nl.prlg.morpoc.NavigationActivity.onCreate(NavigationActivity.java:35) 
                                                                at android.app.Activity.performCreate(Activity.java:6237) 
                                                                at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) 
                                                                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) 
                                                                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
                                                                at android.app.ActivityThread.-wrap11(ActivityThread.java) 
                                                                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
                                                                at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                at android.os.Looper.loop(Looper.java:148) 
                                                                at android.app.ActivityThread.main(ActivityThread.java:5417) 
                                                                at java.lang.reflect.Method.invoke(Native Method) 
                                                                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                                                                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
                                                             Caused by: java.lang.reflect.InvocationTargetException
                                                                at java.lang.reflect.Constructor.newInstance(Native Method)
                                                                at android.view.LayoutInflater.createView(LayoutInflater.java:619)
                                                                at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764) 
                                                                at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 
                                                                at android.view.LayoutInflater.rInflate(LayoutInflater.java:835) 
                                                                at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 
                                                                at android.view.LayoutInflater.inflate(LayoutInflater.java:515) 
                                                                at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
                                                                at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
                                                                at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:292) 
                                                                at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 
                                                                at nl.prlg.morpoc.NavigationActivity.onCreate(NavigationActivity.java:35) 
                                                                at android.app.Activity.performCreate(Activity.java:6237) 
                                                                at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) 
                                                                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) 
                                                                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
                                                                at android.app.ActivityThread.-wrap11(ActivityThread.java) 
                                                                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
                                                                at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                at android.os.Looper.loop(Looper.java:148) 
                                                                at android.app.ActivityThread.main(ActivityThread.java:5417) 
                                                                at java.lang.reflect.Method.invoke(Native Method) 
                                                                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                                                                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
                                                             Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x0
                                                                at android.content.res.Resources.getValue(Resources.java:1351)
                                                                at android.content.res.Resources.getColorStateList(Resources.java:1045)
                                                                at android.content.Context.getColorStateList(Context.java:475)
                                                                at android.support.v7.content.res.AppCompatResources.getColorStateList(AppCompatResources.java:65)
                                                                at android.support.design.widget.NavigationView.createDefaultColorStateList(NavigationView.java:422)
                                                                at android.support.design.widget.NavigationView.<init>(NavigationView.java:148)
                                                                at android.support.design.widget.NavigationView.<init>(NavigationView.java:100)
                                                                at java.lang.reflect.Constructor.newInstance(Native Method) 
                                                                at android.view.LayoutInflater.createView(LayoutInflater.java:619) 
                                                                at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764) 
                                                                at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 
                                                                at android.view.LayoutInflater.rInflate(LayoutInflater.java:835) 
                                                                at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 
                                                                at android.view.LayoutInflater.inflate(LayoutInflater.java:515) 
                                                                at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
                                                                at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
                                                                at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:292) 
                                                                at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 
                                                                at nl.prlg.morpoc.NavigationActivity.onCreate(NavigationActivity.java:35) 
                                                                at android.app.Activity.performCreate(Activity.java:6237) 
                                                                at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) 
                                                                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) 
                                                                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
                                                                at android.app.ActivityThread.-wrap11(ActivityThread.java) 
                                                                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
                                                                at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                at android.os.Looper.loop(Looper.java:148) 
                                                                at android.app.ActivityThread.main(ActivityThread.java:5417) 
                                                                at java.lang.reflect.Method.invoke(Native Method) 
                                                                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                                                                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 

So anyone knows how to fix the white colored text?

Edit: Screenshot of the white text: enter image description here

Luud van Keulen
  • 1,204
  • 12
  • 38

1 Answers1

0

I think the opacity of colors you used may be the reason for this error. I got same error previously and was solved by changing the opacity of the color. please try if setting opacity=255 or to default value solved the problem...

Yogesh
  • 153
  • 1
  • 12