1. Mitglieder surfen ohne Werbung auf Android-Hilfe.de! ✔ Jetzt kostenlos Mitglied in unserer Community werden.
  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

Die Seite wird geladen...
Ähnliche Themen Forum Datum
Fehlermeldung 'Activity has leaked window' Android App Entwicklung 20.08.2018
Daten speichern in einer Datei auf der jede Aktivität zugreifen kann Android App Entwicklung 12.05.2018
Fragment Textview Text von non-Activity ändern Android App Entwicklung 27.01.2018
Du betrachtest das Thema "Activity has leaked IntentReceiver" im Forum "Android App Entwicklung",
  1. Android-Hilfe.de verwendet Cookies um Inhalte zu personalisieren und dir den bestmöglichen Service zu gewährleisten. Wenn du auf der Seite weitersurfst stimmst du der Cookie-Nutzung zu.  Ich stimme zu.