Activity has leaked IntentReceiver

T

Tom299

Stammgast
122
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
 
Testweise kannst du ja mal versuchen, das ganze im onCreateOptionsMenu abzuarbeiten statt im onPrepareOptionsMenu. Am Code innerhalb der Methoden kann's eigentlich nicht liegen.
 
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 ...
 

Ähnliche Themen

M
  • maksimilian
Antworten
15
Aufrufe
1.700
maksimilian
M
M
Antworten
8
Aufrufe
954
deek
D
M
  • maksimilian
Antworten
5
Aufrufe
858
maksimilian
M
Zurück
Oben Unten