[英]Adding a button to the ActionBar with ActionBarSherlock
我一直在嘗試向SherlockActionBar添加一個按鈕,但我無法讓它工作。
這是我的代碼:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
android.view.MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, (android.view.Menu) menu);
return super.onCreateOptionsMenu(menu);
}
這是我的menu.xml
代碼:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/save_button"
android:title="i"
android:showAsAction="always" />
</menu>
這不起作用,因為即使我按下菜單按鈕,也沒有任何顯示。 還有其他方法嗎? 我犯了什么錯嗎?
您正在使用Android的Menu和MenuInflater,但應該使用ActionBarSherlock附帶的類:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
com.actionbarsherlock.view.MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.menu, (com.actionbarsherlock.view.Menu) menu);
return super.onCreateOptionsMenu(menu);
}
看起來你現在正在混淆兩者。 確保只導入com.actionbarsherlock.view.Menu和com.actionbarsherlock.view.MenuInflater,而不導入其Android版本。 我建議你做以下事情:
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuInflater;
...
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.menu, menu);
return super.onCreateOptionsMenu(menu);
}
我想在menu.xml中。 您的項目未完全聲明android:showAsAction屬性。 你必須這樣聲明:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/save_button"
android:title="i"
android:showAsAction="always|withText" />
</menu>
由於您沒有為項目操作欄指定任何圖標,因此無法顯示任何項目。 默認情況下,圖標顯示為文本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.