2011-07-03 20 views
0

我開發設備2.1 Eclair的Android應用程序 - > 3.0蜂窩。我現在正在創建一個用戶設置區域。我遇到了菜單& ActionBar Items。蜂窩動作條物品 - 機的應用程式

我創造了我的項目,並在其圖標的菜單XML資源,那麼我這個迷上它在Java:

我說對我已經有了頂這些進口:

import android.view.Menu; 
import android.view.MenuInflater; 
import android.view.MenuItem; 

然後這個代碼在我的活動爲Android Developers site said to

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.pixelappmenu, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
    case R.id.menuItem_Help: 
     helpDialogGo(); 
     return true; 
    case R.id.menuItem_Settings: 
     settingsActivityGo(); 
     return true; 
    default: 
     return super.onOptionsItemSelected(item); 
    } 
} 

(這是所有我加入,因爲它是工作的罰款我甚評論這一切新的東西出來,它開始。 )

這個工作,當我在Froyo上測試它 - 該菜單出現與應該的標題和圖標,但是當我嘗試啓動我的蜂窩平板電腦上的應用程序,它強制關閉沒有甚至在一瞬間展示該應用。

一些其他可能相關的代碼:從AndroidManifest.xml中

<uses-sdk 
    android:minSdkVersion="7" 
    android:targetSdkVersion="11" /> 

pixelappmenu.xml

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
     android:title="Help" 
     android:id="@+id/menuItem_Help"/> 
    <item 
     android:title="Settings" 
    android:id="@+id/menuItem_Settings" 
    android:onClick="onMenuItemClick_Settings"/> 
</menu> 
+2

你有在logcat的任何消息? – Gregory

+0

@ rabs83:嘗試擺脫Android的'的:onClick'屬性 - 你不使用它,我沒有看到它使用非常頻繁,所以這可能是你的困難的根源。除此之外,正如@Gregory所建議的那樣,在Eclipse中使用'adb logcat',DDMS或DDMS透視圖來檢查LogCat並查看與「強制關閉」相關的堆棧跟蹤。 – CommonsWare

+0

@CommonsWare,我已經這樣做了,它不會導致問題。謝謝您的幫助。 – rabbitt

回答

0

提取物我找到了解決。

在菜單的xml文件(RES /菜單/ mymenu.xml - 或任何你叫你的文件),你需要聲明的是,菜單項允許是在動作條。您可以通過放置

android:showAsAction="ifRoom|withText" 

在您的XML中的項目內。

示例代碼是在這裏:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
<item 
    android:title="Help" 
    android:id="@+id/menuItem_Help" 
    android:showAsAction="ifRoom|withText"/> 
<item 
    android:title="Settings" 
    android:id="@+id/menuItem_Settings" 
    android:showAsAction="ifRoom|withText"/> 
</menu> 
+0

此外,如果您只想顯示文本,請將其設置爲「ifRoom」,並且如果您希望它顯示在溢出菜單中,您可以將其設置爲「從不」。 – rabbitt