2014-07-26 46 views
1

我試圖在操作欄上添加共享按鈕,但生成失敗,因爲:Udacity陽光與Android Studio的應用程序 - 錯誤:(21)未找到屬性'actionProviderClass'包''中的資源標識符

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

我的菜單/ 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是應用程序:showAsAction但被強調,並說:「應該使用Android :showAsAction時不使用appcompat庫「)

謝謝!

+0

當你刪除的支持會發生什麼。 v7從actionProviderClass? – Simas

+0

嘗試將xmlns:app =「http://schemas.android.com/apk/res-auto」更改爲xmlns:app =「http://schemas.android.com/apk/res/com.exapmle.mypackage 「其中com.exapmle.mypackage將成爲您的軟件包名稱。 –

+0

@PhilippeLePoint樂於助人。請恢復原來的問題,以便其他人有相同的問題,並總是發佈新的問題與新的問題。 –

回答

3

變化

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

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

其中com.exapmle.mypackage將是你的包名。

+0

它的作品!,任何解釋將不勝感激 – CAMOBAP

0

編輯: 此外 -

android:showAsAction="always" 

應改爲:

app:showAsAction="always" 

在DetailActivity.java,你記得補充:

import android.support.v7.widget.ShareActionProvider; 

礦是下面,它完全一樣,a雖然我確實遇到了你在這裏描述的同樣的事情。我不小心把:的

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> 
相關問題