在Android 4.4及更低版本中,Inflate NavigationView会导致异常

时间:2016-07-27 19:48:24

标签: java android material-design android-4.4-kitkat

所以我和this fellow有同样的问题,但由于没有人回答他,我想提供一些更多的背景,看看我们是否能解决这个问题。我已经有一段时间一直在寻找这个问题的答案而且没有任何效果。

我在我的应用中实现了一些Material Design小部件,例如NavigationView,TabLayout和Cards。这些是我正在编译的支持库(今天更新它们):

#include <windows.h>
#include <process.h>
#include <stdio.h>
#include <stdlib.h>

int answer = 0;

DWORD WINAPIinput_thread(void*) 
{
    scanf("%d", &answer);
    return 0;
}

int main()
{
    srand(time(0));

    HANDLE h = (HANDLE)_beginthreadex(0, 5000, input_thread, 0, 0, 0);
    while (1) {
        int u = rand() % 7 + 2;
        int v = rand() % 7 + 2;
        printf ("%d * %d = ?   ", u, v);

        DWORD res = WaitForSingleObject(h, 20000);

        if (res == WAIT_TIMEOUT)
        {
            printf ("\nSorry, timed out!\n");
            FlushConsoleInputBuffer(GetStdHandle(STD_INPUT_HANDLE));
        }
        else
        {
            if (answer == u * v)
            {
                printf ("Congrats, you won!\n");
            }
            else
            {
                printf ("Sorry, wrong answer!\n");
            }
            CloseHandle(h);
            h = (HANDLE)_beginthreadex(0, 5000, input_thread, 0, 0, 0);
        }
    }

}

目标和分钟SDK:

.navbar-fixed-top {
  backckground-color: transparent;
  background-image: none;
}

这是我使用导航视图的地方:

compile 'com.android.support:appcompat-v7:24.1.1'
compile 'com.android.support:support-v4:24.1.1'
compile 'com.android.support:design:24.1.1'
compile 'com.android.support:cardview-v7:24.1.1'

Logcat:

minSdkVersion 16
targetSdkVersion 24

从我看到的其他一些答案中,这是有关活动正在应用的主题:

<android.support.v4.widget.DrawerLayout
...
   <android.support.design.widget.CoordinatorLayout
       <android.support.design.widget.AppBarLayout
           <android.support.v7.widget.Toolbar
           .../>
       </android.support.design.widget.AppBarLayout>
   </android.support.design.widget.CoordinatorLayout>
   <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" />
</android.support.v4.widget.DrawerLayout>

该应用在Android 5.0中运行良好,但在使用Android 4.4的100%设备中崩溃了。我已经过测试。

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

看起来在res / drawable-v21文件夹中有一些菜单图标,但在res / drawable文件夹中没有它们。

<强>更新

您可以通过文件中的ID(#0x7f02009f)找到“问题”资源 app / build / generated / source / r / debug(或release)/you/package/id/R.java