2016-03-07 65 views
1

我已經寫了代碼,菜單的Android中,但它現在會顯示在我的活動了,這裏是我的代碼菜單沒有出現在活動 - 安卓

我只顯示我在這裏的相關代碼,

的Manifest.xml

<uses-sdk 
     android:minSdkVersion="15" 
     android:targetSdkVersion="21" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppBaseTheme" > 

MainActivity.Java

public class MainActivity extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     super.onCreateOptionsMenu(menu); 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     // Handle action bar item clicks here. The action bar will 
     // automatically handle clicks on the Home/Up button, so long 
     // as you specify a parent activity in AndroidManifest.xml. 
     switch (item.getItemId()) { 
     // Some action here 

     } 
    } 
} 

main.xml中

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    tools:context="com.example.androidex1.MainActivity" > 

    <item android:id="@+id/item1" 
     android:title="one" /> 
    <item android:id="@+id/item2" 

     android:title="two" /> 
    <item android:id="@+id/item3" 

     android:title="three" /> 
    <item android:id="@+id/item4" 

     android:title="four" /> 

</menu> 

步驟

受審

Menu Items are not showing on Action Bar

結果:

嘗試,但仍然菜單的沒有出現

Android options menu not displaying

結果:

菜單仍然沒有出現。

Android Menu not showing up

結果:

決不添加該屬性。

Option Menu does not appear in Android

結果:

super.onCreateOptionsMenu(menu); is also added in the code but still the menu's don't appear. 

我的問題 我想看到的僅僅是菜單不動作條,可能是什麼問題呢?我沒有收到任何錯誤,主要問題是我無法看到菜單本身。

+0

您使用哪個IDE? – Dario

+0

@Dario Eclipse IDE。 –

+0

好的,我建議使用Android Studio! 你看到我的帖子嗎?我編輯它... – Dario

回答

1

我試過了你的代碼,並且在我的手機中所有的作品! 唯一不同的認爲是

@Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     // Handle item selection 
     switch (item.getItemId()) { 
      case R.id.item1: 
       //DoSomething(); 
       Toast.makeText(getApplicationContext(), "Hello 1", Toast.LENGTH_LONG).show(); 
       return true; 
      case R.id.item2: 
       //DoSomething2(); 
       Toast.makeText(getApplicationContext(), "Hello 2", Toast.LENGTH_LONG).show(); 
       return true; 

      case R.id.item3: 
       //DoSomething3(); 
       Toast.makeText(getApplicationContext(), "Hello 3", Toast.LENGTH_LONG).show(); 
       return true; 
      default: 
       return super.onOptionsItemSelected(item); 
     } 
    } 

你確定目錄和菜單的名稱是正確的?

getMenuInflater().inflate(R.menu.main, menu); 

確保該目錄菜單和文件菜單的main.xml 當自動生成的Android工作室稱之爲main_activity_menu.xml,所以一定要在充氣的名字是正確的,因爲我做一個新的測試應用程序與您的代碼,我看到菜單!

如果你想添加菜單項的動作條一樣的圖標

另一個Menus guide from google.developer沒有動作條,如果不需要 編碼愉快閱讀本Google.developer guide

+0

爲什麼通常的方法不起作用?爲什麼我們應該擴展AppCompatActivity?我仍然想擴展活動。對不起,這並沒有回答我的問題。 –

+0

你想要一個ActionBar到你的活動權利? 如果只擴展Activity,則不能有ActionBar。 爲了得到您想要的內容,請遵循我發佈的代碼,或者更改您的問題,因爲這可能是錯誤的。 – Dario

+0

[見此](http://www.javatpoint.com/android-option-menu-example),如何在不擴展AppCompat Activity的情況下實現菜單? –

5

目前還不清楚,你是否看到你的動作欄,沒有看到菜單,或者你根本看不到動作欄?如果是最新版本,請嘗試在清單中的<application>標籤中應用支持操作欄的樣式。例如:

android:theme="@style/Theme.AppCompat.Light.DarkActionBar" 
+0

我沒有看到Actionbar Infact我沒有添加任何Actionbar到我的活動 –

+0

你有沒有嘗試過使用我建議的主題? –

+0

是的,但仍然無法正常工作。 –

0

會人爲增加了錯誤的菜單文件:

getMenuInflater().inflate(R.menu.main, menu);

你的菜單文件必須根據你的代碼命名的main.xml。

+0

它是'main.xml',對不起將編輯我的問題。 –

0

我遇到了同樣的問題。 這是一個造型

在我的項目在android studio創建,我有style.xml文件: 有一條線。

<resources> 

    <!-- Base application theme. --> 
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
     <!-- Customize your theme here. --> 
    </style> 

    <style name="AppTheme.NoActionBar"> 
     <item name="windowActionBar">false</item> 
     <item name="windowNoTitle">true</item> 
    </style> 

    <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar"/> 

    <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light"/> 

</resources> 

而在我的manifest.xml中(你沒有顯示你的完整清單文件)。 活動之一(在這裏我想顯示菜單)具有以下行設置:

<activity 
    android:name=".UsersListActivity" 
    android:label="@string/title_activity_users_list" 
    android:theme="@style/AppTheme.NoActionBar"> 
</activity> 

所以,當我改變AppTheme.NoActionBar到AppTheme.AppTheme,現在,它的工作原理:

<activity 
    android:name=".UsersListActivity" 
    android:label="@string/title_activity_users_list" 
    android:theme="@style/AppTheme.AppTheme"> 
</activity> 

現在它可以工作。

0

嘗試更改模擬器。有時候模擬器會發生故障以阻止工作。

+0

你可以提供更多的細節,因爲這個答案看起來並不那麼有希望 – Ibo

+0

有時你創建的模擬器出現故障,這導致你的創建的APP不適當的實現。有一次,我所做的只是在重新運行我的APP之前更改模擬器。有效。 –

1

您必須從AppCompatActivity擴展而不是活動

+1

您可以發佈一些代碼作爲示例,瞭解如何執行您的建議以改進您的答案。 – rsz