使用Android Studio的Udacity Sunshine应用程序 - 错误:(21)在包'..'中找不到属性'actionProviderClass'的资源标识符

时间:2014-07-26 05:15:58

标签: android shareactionprovider

我尝试在操作栏上添加共享按钮,但构建失败,原因是:

Error:(21) No resource identifier found for attribute 'actionProviderClass' in package '...'

我的menu / detail.xml包含:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto">

<item1.../>
<item2.../>

<item android:id="@+id/action_share"
    android:icon="@android:drawable/ic_menu_share"
    android:title="@string/action_share"
    android:showAsAction="always"
    app:actionProviderClass="android.support.v7.widget.ShareActionProvider"/>

</menu>

(这可能是无关紧要的,但是说明要使android:showAsAction成为app:showAsAction但是得到了下划线并且它表示&#34;当不使用appcompat库时应该使用android:showAsAction&#34;)

谢谢!

2 个答案:

答案 0 :(得分:3)

更改

xmlns:app="schemas.android.com/apk/res-auto";

 xmlns:app="schemas.android.com/apk/res/com.exapmle.mypackage";

其中com.exapmle.mypackage将是您的包裹名称。

答案 1 :(得分:0)

编辑: 还 - -

android:showAsAction="always"

应改为:

app:showAsAction="always"

在DetailActivity.java中,您是否记得添加:

import android.support.v7.widget.ShareActionProvider;
我在下面,它完全一样,虽然我确实经历过你在这里描述的同样的事情。我不小心把:

xmlns:android="http://schemas.android.com/apk/res-auto

而不是:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto" >
    <item android:id="@+id/action_share"
        android:title="@string/action_share"
        app:showAsAction="always"
        app:actionProviderClass="android.support.v7.widget.ShareActionProvider" />
</menu>