2016-07-15 7 views
-3

Ich bin nur ein Neuling in Android-Programmierung, ich baue eine neue App aus einem Tutorial. habe ich das Hauptmenü wie diese,Meine menu_main.xml nicht auf meiner main_activity

<?xml version="1.0" encoding="utf-8"?> <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="id.go.kemenkeu.itjen_kemenkeu.MainActivity"> 
<item 
    android:id="@+id/action_settings" 
    android:orderInCategory="100" 
    app:showAsAction="never" 
    android:title="Settings" /> 
<item 
    android:id="@+id/navigate" 
    android:title="@string/next" 
    android:orderInCategory="200" 
    app:showAsAction="always" 
    android:icon="@drawable/ic_next"/> </menu> 

und die MainActivity.Java wie diese

public class MainActivity extends AppCompatActivity { 

    private Toolbar toolbar; 

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

     toolbar= (Toolbar) findViewById(R.id.app_bar); 
     setSupportActionBar(toolbar); 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     int id=item.getItemId(); 
     if(id==R.id.action_settings){ 
      Toast.makeText(this,"Hi, Anda Baru Saja Menekan"+item.getTitle(),Toast.LENGTH_SHORT).show(); 
      return true; 
     } 
     if(id==R.id.navigate){ 
      startActivity(new Intent(this, SubActivity.class)); 
     } 
     return super.onOptionsItemSelected(item); 
    } } 

Ich nenne die + id/navigieren in MainActivity.Java, aber wenn ich laufen in Emulator machen die style inside + id/navigate wurde nicht angezeigt. Was ist hier falsch?

+0

hinzufügen 'OnCreateOptionsMenu' zu Ihrer Aktivität –

+0

danke Phan Van, Ihr Vorschlag ist nett. Ich habe es versucht und es funktioniert. –

Antwort

1

Sie müssen createoptionmenu überschreiben, um Ihr eigenes Menü in der Symbolleiste zu initialisieren. Versuchen Sie, diese in Ihnen Aktivität:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.mymenu_main, menu); 
    return super.onCreateOptionsMenu(menu); 
} 
+0

Vielen Dank JayDeep Patel, Ihr Vorschlag ist ausgezeichnet. –

+0

willkommen @AndreasSyaloomKurniawan –

-1

Sie haben die onCreateOptionsMenu in Sie Activity und aufblasen das Menü außer Kraft zu setzen und überprüfen Sie es mehr Details, die Sie in Developer Site

0

ohne onCreateOptionsMenu überprüfen kippe Sie menu zeigen . so fügen onCreateOptionsMenu auf Ihre Activity Klasse wie

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

Glücklich Coding !!!

0

Sie müssen das Optionsmenü aufblähen Fügen Sie diese Zeile hinzu.

Verwandte Themen