2010-12-27 13 views
1

In meiner Blackberry-Anwendung habe ich Bildschirm mit wenigen Menüeinträgen (erstellt von mir in makeMenu()). Auf diesem Bildschirm sollte ich manchmal zwei dieser Menüpunkte entfernen. Aber menu.deleteItem() Methode funktioniert nicht.Menüoption auf Blackberry entfernen

Wie kann ich Menüelement im Anwendungsmenü entfernen, ohne neue Instanz des Bildschirms neu erstellen? Ist es real für bereits erstellte Menüs? Oder mb sollte ich Menü/Bildschirm irgendwie aktualisieren?

Danke.

Antwort

3

Das Menü an der Stelle gezogen wird es ausgewählt ist, so alles, was ich alles tun wird Bedingungen auf, die nicht statisch ist, zB unter:

protected void makeMenu(Menu menu, int instance) { 
    menu.add(staticMenuItem); 
    if (condition) menu.add(dynamicMenuItem); 
} 
+0

Ist das, was Sie nach oder benötigen Sie ein sichtbares Menü Gegenstände erscheinen und verschwinden, während der Benutzer zuschaut? –

+0

Aber was soll ich tun, wenn mein Bildschirm bereits mit einer Reihe von Menüpunkten angezeigt wird und mein Zustand geändert wird? Wie kann ich Menüpunkte aus dem Menü ohne Bildschirmwiederholung entfernen? –

+0

Ah, also brauchst du wirklich Leute, um zu sehen, wie die Gegenstände verschwinden. menu.deleteItem ist für diesen Zweck nicht geeignet. Was Sie möglicherweise tun können, überschreiben Sie keyDown, so dass, wenn die Menüschaltfläche gedrückt wird, Ihre App ein benutzerdefiniertes Feld lädt. Dann hätten Sie viel mehr Kontrolle. Oder wenn der Fall selten genug ist, um Bedingungen auf Makemenu zu verwenden, könnten Sie einfach einen Dialog anzeigen, um zu erklären, warum das ausgewählte Menü z. B. nicht funktioniert. "Entschuldigung, dieser Artikel ist offline nicht verfügbar" –