我有一個應用程序,我決定實施ActionBarCompat,因爲它是一個谷歌支持庫,許多人都推薦它通過ActionBarSherlock。我首先將它作爲一個庫項目添加到Eclipse中,並將其連接到我正在處理的當前項目。實現ActionBarCompat導致r.java文件丟失
我加入這樣一個新的菜單項(刷新):
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" >
<item
android:id="@+id/action_refresh"
android:title="@string/action_refresh"
android:icon="@drawable/ic_action_refresh"
app:showAsAction="ifRoom" />
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_settings"/>
</menu>
然後叫onCreateOptionsMenu這樣的:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.schedule, menu);
return super.onCreateOptionsMenu(menu);
}
當我試圖編譯程序的時候,發出的錯誤(在編譯之前):
生成最終歸檔時出錯:java.io.FileNotFoundException:C:\ AndroidDevelopment \ Worksp ace \ STPSUrnik \ bin \ resources.ap_不存在
如果我清理項目,我的r.java文件丟失。
如果我刪除使用ActionBarCompat資源的刷新菜單項的屬性「圖標」和「標題」,則此錯誤消失,所以我猜測問題是連接到ActionBarCompat資源或其他東西。
爲什麼爲一個'showAsAction'屬性和另一個''app'命名空間使用'android' xml命名空間? – NasaGeek
@NasaGeek據我所知,我應該使用第一個應用程序命名空間,以便該應用程序知道它是ActionBarCompat,而另一個是基本設置(非庫),所以它有一個正常的命名空間 – Guy
我是試圖說,情況並非如此(如[此處所述](http://developer.android.com/guide/topics/ui/actionbar.html#XmlAttributes))。 – NasaGeek