![](/img/trans.png)
[英]Android navigation drawer sample:Error:(43) No resource identifier found for attribute 'layoutManager'
[英]Error 'No resource identifier found' with Android sample project
我正在嘗試在Android Studio中打開Android示例項目 - Navigation Drawer,但在構建它時遇到錯誤。
這些是重現它的步驟:
錯誤:(43)在'com.example.android.navigationdrawer'包中找不到屬性'layoutManager'的資源標識符
Android Studio版本為 - 1.4 Beta 4
在此先感謝您的幫助。
編譯器無法在activity_navigation_drawer.xml
找到此屬性:
app:layoutManager="LinearLayoutManager"
解決這個問題
從XML中刪除此屬性,以便您的Recyclerview如下所示:
<android.support.v7.widget.RecyclerView android:id="@+id/left_drawer" android:scrollbars="vertical" android:layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="left|start" android:choiceMode="singleChoice" android:divider="@null"/>
按下Gradle Sync按鈕
在NavigationDrawerActivity
,在OnCreate()中添加以下兩行代碼;
LinearLayoutManager mLinearLayoutmanager = new LinearLayoutManager(this); mDrawerList.setLayoutManager(mLinearLayoutmanager);
所以你的代碼現在看起來像這樣:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_navigation_drawer);
mTitle = mDrawerTitle = getTitle();
mPlanetTitles = getResources().getStringArray(R.array.planets_array);
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerList = (RecyclerView) findViewById(R.id.left_drawer);
LinearLayoutManager mLinearLayoutmanager = new LinearLayoutManager(this);
mDrawerList.setLayoutManager(mLinearLayoutmanager);
....
祝好運
編輯 :原始xml代碼不再起作用的原因很可能是xmlns:app="http://schemas.android.com/apk/res-auto"
命名空間不再支持layoutManager
屬性。
有關命名空間的更多信息,請訪問: https : //stackoverflow.com/a/26692768/3708094
您當然可以通過xml定義LayoutManagers等。 這是使用本機GridLayoutManager的示例:
<android.support.v7.widget.RecyclerView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/posters_recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:orientation="vertical"
app:layoutManager="android.support.v7.widget.GridLayoutManager"
app:reverseLayout="false"
app:spanCount="3"
app:stackFromEnd="false" />
如果要使用自定義LayoutManager,請遵循此處定義的規則:
只需將build.gradle文件(模塊)升級到最新版本,我就試了一下,現在一切正常。
引用:
https://github.com/googlesamples/android-NavigationDrawer/issues/9
你確定gradle解決了所有依賴關系嗎? 當偶爾從依賴項中刪除recyclerview支持庫時,我遇到了同樣的問題:
compile 'com.android.support:recyclerview-v7:25.0.1'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.