1. Wir haben diesmal 2 Gewinnspiele zeitgleich für euch - Gewinne einmal ein UMI Plus E - Beim 2ten könnt ihr ein Nomu S30 gewinnen!
  1. Tom299, 27.03.2012 #1
    Tom299

    Tom299 Threadstarter Android-Experte

    Hallo Leute,

    ich hab gerade ein Problem festgestellt, das scheinbar nur auf meinem Samsung Galaxy S2 auftritt, HTC Sensation, Motorola Defy und der Emulator bringen diese Fehlermeldung nicht:

    Activity OrderStreetsActivity has leaked IntentReceiver com.android.internal.view.menu.MenuDialogHelper$1@405aaca8 that was originally registered here. Are you missing a call to unregisterReceiver()?

    Und zwar setze ich im onPrepareOptionsMenu die Werte für meine Sub-Menue-Items:

    Code:
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
        	super.onCreateOptionsMenu(menu);
        	
            MenuInflater inflater = getMenuInflater();
            inflater.inflate(R.menu.order_streets_menu, menu);
    
            return true;
        }
        
        @Override
        public boolean onPrepareOptionsMenu(Menu menu) {
        	super.onPrepareOptionsMenu(menu);
        	
    //    	Integer[] iValues = dbHelper2.readStatus(OrderStreetsActivity.this);
        	Integer[] iValues = { 5, 4, 3, 2, 1 };
    //    	String[] statusText = getResources().getStringArray(R.array.auftragsstatus);
        	String[] statusText = { "AA", "BB", "CC", "DD", "EE" };
        	
        	MenuItem subItem = menu.getItem(menu.size()-1);
            if (subItem.hasSubMenu()) {
            	SubMenu subMenu = subItem.getSubMenu();
            	for (int i=0; i<subMenu.size();i++) {
            		MenuItem item = subMenu.getItem(i);
            		if (item != null) {
            			item.setTitle(iValues[i] + " " + statusText[i]);
            		}
            	}
            }
    
            return true;
        }
    
    Zuerst dachte ich, es liegt evtl. am Datenbank-Aufruf, also hab ich das auskommentiert und Werte im Code gesetzt. Da es nichts gebracht hat, hatte ich das gleiche für den String-Array-Aufruf gemacht, also auskommentiert und Werte im Code gesetzt. Der Fehler tritt aber immer noch auf und ich weiß nicht, wo das Problem liegen soll. Ich rufe auch nirgends einen Receiver auf, wo ich mich registrieren würde.

    Hat jemand eine Idee, woran das liegen könnte?


    Gruß,
    Tom
     
  2. Boni2k, 27.03.2012 #2
    Boni2k

    Boni2k Android-Hilfe.de Mitglied

    Testweise kannst du ja mal versuchen, das ganze im onCreateOptionsMenu abzuarbeiten statt im onPrepareOptionsMenu. Am Code innerhalb der Methoden kann's eigentlich nicht liegen.
     
  3. Tom299, 27.03.2012 #3
    Tom299

    Tom299 Threadstarter Android-Experte

    Ich habe jetzt den komplette Code im onPrepareOptionsMenu auskommentiert und im onMenuItemSelected steht nur noch break:

    Code:
    @Override
    public boolean onMenuItemSelected(int featureId, MenuItem item) {
       switch (item.getItemId()) {
    
       case R.id.menu_order_streets_status:
    	break;
    				
       default:
    	break;
       }
    
       return super.onMenuItemSelected(featureId, item);
    }
    
    Der Fehler kommt immer noch ...
     
  4. DieGoldeneMitte, 27.03.2012 #4
    DieGoldeneMitte

    DieGoldeneMitte Android-Lexikon

Diese Seite empfehlen