2016-03-18 17 views
10

Ho creato un'applicazione Android in Android Studio e vorrei creare un menu di opzioni. L'ho creato come un'attività vuota e ora realizzo che sarebbe stato meglio creare un'attività vuota per ottenere il menu delle opzioni. Esiste comunque la possibilità di creare il menu delle opzioni in un'attività vuota. Se qualcuno potesse indicarmi un tutorial che sarebbe bello, questo è il mio codice finora per il mio menu.Aggiungere un menu a un'attività vuota

menu_menu

<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="saveourcar.soc.MainActivity"> 
    <item 
     android:id="@+id/action_Menu" 
     android:orderInCategory="100" 
     android:title="Menu" 
     app:showAsAction="never" > 
    <menu> 
     <item 
      android:id="@+id/instructions" 
      android:title="Instructions" 
      android:icon="@drawable/bg"/> 
     <item 
      android:id="@+id/hotels" 
      android:title="Hotels" 
      android:icon="@drawable/mechanic"/> 

    </menu> 
    </item> 
</menu> 

Attività principale

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. 
    int id = item.getItemId(); 

    //noinspection SimplifiableIfStatement 
    if (id == R.id.action_Menu) { 
     return true; 
    } 

    return super.onOptionsItemSelected(item); 
} 

risposta

18

Hai bisogno di gonfiare il menu. These tutorials mostra come utilizzare i menu. Quindi, qualcosa di simile, e scegliere un nome migliore di menu_menu:

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

quando si effettua il layout di un menu è necessario definire per l'attività che si desidera metterlo in E 'possibile farlo:.

@Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     MenuInflater findMenuItems = getMenuInflater(); 
     findMenuItems.inflate(R.menu.main_menu, menu); 
     return super.onCreateOptionsMenu(menu); 
    } 

il main_menu è il nome del layout del menu e findMenuItems è un nome facoltativo.

E per rendere voci del menù cliccabili per un menu Info e uscire dall'applicazione avrete bisogno di questo:

@Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     switch (item.getItemId()) { 
      case R.id.aboutMenuItem: 
       Intent aboutIntent = new Intent(MainActivity.this, AboutActivity.class); 
       startActivity(aboutIntent); 
       break; 
      case R.id.exitMenuItem: 
       finish(); 
       break; 
     } 
     return super.onOptionsItemSelected(item); 
    }