我使用sherlock的操作欄。我試圖將其實施到我的應用程序。但似乎我錯過了一些東西,使其工作。請檢查我的代碼。當我點擊動作按鈕時,我的應用程序不做任何事情。以下是我的代碼和我的XML。Android ActionBarShelock onOptionsItemSelected
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.activity_main, menu);
menu.add("Share")
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
menu.add("Save")
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
menu.add("Set")
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.share:
new share(this).execute(image_url);
return true;
case R.id.save:
new save(this).execute(image_url);
return true;
case R.id.set:
new set(this).execute(image_url);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
我的菜單XML
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/share"
android:title="@string/share"/>
<item
android:id="@+id/save"
android:title="@string/save"/>
<item
android:id="@+id/set"
android:title="@string/set"/>
</menu>
我「的原始類型void不能調用setOnMenuItemClickListener(MenuItem.OnMenuItemClickListener)」 –
原諒我得到這個錯誤,我的錯誤,我編輯。你必須在設置ShowAsAction(..)之前設置監聽器,因爲它返回void –
fantastic ..謝謝。它的工作現在 –