Android示例项目出错'找不到资源标识符'

我正在尝试在Android Studio中打开Android示例项目 – 导航抽屉,但在构build它时出错。

这些是重现它的步骤:

  1. 在Android Studio欢迎页面中,select导入Android代码示例
  2. search导航抽屉 ,select它并点击“下一步”
  3. 指定项目位置,然后单击“完成”

错误:(43)包'com.example.android.navigationdrawer'中找不到属性'layoutManager'的资源标识符

Android Studio版本是 – 1.4 Beta 4

在此先感谢您的帮助。

Solutions Collecting From Web of "Android示例项目出错'找不到资源标识符'"

编译器在activity_navigation_drawer.xml找不到这个属性:

 app:layoutManager="LinearLayoutManager" 

解决这个问题

  1. 从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"/> 
  2. 按下Gradle Syncbutton

  3. 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属性。

关于命名空间的更多信息可以在这里find: https : //stackoverflow.com/a/26692768/3708094

你当然可以定义布局pipe理器和更多的通过XML。 这是一个使用本地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,请按照以下定义的规则进行操作:

R.attr.html#的layoutManager

只要升级build.gradle文件(模块)到最新版本,我试了一下,现在一切正常。

引用:

https://github.com/googlesamples/android-NavigationDrawer/issues/9

你确定gradle解决了所有的依赖吗? 当我偶尔从依赖关系中删除recyclerview支持库时,我遇到了同样的问题:

  compile 'com.android.support:recyclerview-v7:25.0.1'