1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

MenuButton wird nicht angezeigt

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Fantoma555, 02.12.2011.

  1. Fantoma555, 02.12.2011 #1
    Fantoma555

    Fantoma555 Threadstarter Neuer Benutzer

    Beiträge:
    2
    Erhaltene Danke:
    0
    Registriert seit:
    02.12.2011
    Hallo !

    Ich lerne gerade die Programmierung von Android mit dem Buch "Android2 Grundlagen und Programmierung" . Leider komme ich schon am Anfang nicht weiter. Eigentlich sollte ein Button angezeigt werden, dieser wird allerdings nicht angezeigt. Hier der Code

    Code:
    package de.androidbuch.rechner;
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.widget.EditText;
    import android.widget.RadioGroup;
    import android.widget.Spinner;
    public class FormularActivity extends Activity {
     
     public static final int AUSRECHNEN_ID = Menu.FIRST;
     
     public static final String BETRAG_KEY = "betrag";
     public static final String BETRAG_ART = "art";
     public static final String UST_PROZENT = "ust";
     
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
         Log.i("Teste","!!!!!!!!!!!!!!!!!!!onCreate wurde aufgerufen");
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
        }
     @Override
     public boolean onCreateOptionsMenu(Menu menu) {  [COLOR=red]"Diese Methode wird leider nicht ausgeführt"[/COLOR]
      menu.add(0, AUSRECHNEN_ID, Menu.NONE, "Umrechnen"); 
      Log.i("Teste","!!!!!!!!!!!!!!!!!!!!!!!!!!!!onCreateOptionsMenu aufgerufen");
      return super.onCreateOptionsMenu(menu);
     }
     
     
     @Override
     public boolean onOptionsItemSelected(MenuItem item) {
      Log.i("Teste","!!!!!!!!!!!!!!!!!!!onOptionsItemSelected wurde aufgerufen");
      switch(item.getItemId())
      {
       case AUSRECHNEN_ID:
        // Betrag
        final EditText txtBetrag = (EditText) findViewById(R.id.edt_betrag);
        final float betrag = Float.parseFloat(txtBetrag.getText().toString());
     
        // Art des Betrages (Brutto, Netto)
        boolean isNetto = true;
        final RadioGroup rg = (RadioGroup) findViewById(R.id.rg_art);
     
        switch(rg.getCheckedRadioButtonId())
        {
         case R.id.rb_art_netto:
          isNetto = true;
          break;
         case R.id.rb_art_brutto:
          isNetto = false;
          break;
         default:
          break;
        }
     
        // Prozentwert Umsatzsteuer:
        final Spinner spinner = (Spinner) findViewById(R.id.sp_umsatzsteuer);
        final int pos = spinner.getSelectedItemPosition();
        final int[] prozentwerte = getResources().getIntArray(R.array.ust_werte);
        final int prozentwert = prozentwerte[pos];
     
        final Intent intent = new Intent(this, ErgebnisActivity.class);
     
        intent.putExtra(BETRAG_KEY,  betrag);
        intent.putExtra(BETRAG_ART,  isNetto);
        intent.putExtra(UST_PROZENT, prozentwert);
     
        startActivity(intent);
        default:     
      }  
      return super.onOptionsItemSelected(item);
     } 
     
     
     
    }
    
    Vielleicht hat ja jemand eine Lösung
     
  2. Tom299, 02.12.2011 #2
    Tom299

    Tom299 Android-Experte

    Beiträge:
    602
    Erhaltene Danke:
    120
    Registriert seit:
    31.08.2011
    schreib mal zuerst super.onCreateOptionsMenu(menu) und dann den anderen code, am ende dann return true

    ich leg meine menüs immer über xml an:
    Code:
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
        	super.onCreateOptionsMenu(menu);
        	
            MenuInflater inflater = getMenuInflater();
            inflater.inflate(R.menu.test_menu, menu);
    
            return true;
        }
    
     
  3. Fantoma555, 02.12.2011 #3
    Fantoma555

    Fantoma555 Threadstarter Neuer Benutzer

    Beiträge:
    2
    Erhaltene Danke:
    0
    Registriert seit:
    02.12.2011

    Ich bin gerade am Anfang von der Android Programmierung, kenne daher MenuInflater noch nicht. Meine Überlegung wäre auch das ich das Menü per xml anlege und dann eine eigene Methode anlege die die Werte einsammelt und an die Intent übergibt. Ich habe mir auch die Dateien vom Buch runtergeladen und überprüft. Da ist das Problem allerdings auch, obwohl im Buch ein Button angezeigt wird. Ich möchte nur nachvollziehen können wie das funktioniert im Buch.
     

Diese Seite empfehlen