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

Context Menu / onLongClick Problem

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von r4in, 13.06.2012.

  1. r4in, 13.06.2012 #1
    r4in

    r4in Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    88
    Erhaltene Danke:
    3
    Registriert seit:
    16.09.2010
    Hi Leute,

    ich hab ein kleines Problem, ich habe in meinem erstellen ContextMenu, zu den Menupunkten die ich angelegt habe, zwei zusätzliche vom OS "einfügen" und "eingabemethode"

    wenn ich das onLongclick Event benutze, dann führt er zwar die Aktion aus, bei der Rückkehr erscheint aber dann "einfügen" als Contextmenu.

    beide Methoden treten auf bei den EditTexten in Anrdoid 2.XX auf, in Android 4.XX
    passiert dieses nicht.

    Gibt es eine Möglichkeit dieses zu unterbinden??

    Danke im vorraus.

    Grüße
     
  2. Tom299, 13.06.2012 #2
    Tom299

    Tom299 Android-Experte

    Beiträge:
    602
    Erhaltene Danke:
    120
    Registriert seit:
    31.08.2011
    Um ein Item hinzuzufügen kann man ja folgendes tun:
    Code:
    @Override
    public void onCreateContextMenu(ContextMenu menu, View view, ContextMenu.ContextMenuInfo menuInfo)
    {
           if(view.getId()==R.id.MyEditTextId)
           {
                menu.add(Menu.NONE, MyMenu, Menu.NONE, R.string.MyMenuText);
           }
           else
              super.onCreateContextMenu(menu, view, menuInfo);
    }
    
    wenn du vorher menu.clear() aufrufst, könnte evtl. dein Problem gelöst sein. habs aber selbst noch nicht versucht. vielleicht macht das betriebssystem auch später erst seine einträge hinzu. aber ein versuch ist es wert.

    vielleicht wird das betriebssystem-menu auch beim aufruf von super hinzugefügt.
     
    r4in bedankt sich.
  3. r4in, 13.06.2012 #3
    r4in

    r4in Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    88
    Erhaltene Danke:
    3
    Registriert seit:
    16.09.2010
    Hi,

    danke für deine schnelle Antwort aber leider das gleiche Ergebnis.:winki:
     
  4. Sentenza, 13.06.2012 #4
    Sentenza

    Sentenza Erfahrener Benutzer

    Beiträge:
    224
    Erhaltene Danke:
    65
    Registriert seit:
    15.08.2011
    Hi, dein OnLongClickListener muss true zurückgeben, damit dass System weiß dass du den Longclick abgearbeitet hast.
     
    r4in bedankt sich.
  5. r4in, 14.06.2012 #5
    r4in

    r4in Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    88
    Erhaltene Danke:
    3
    Registriert seit:
    16.09.2010
    Hi ihr beiden,

    tausend Dank für eure Hilfe!!!!

    @Tom229
    Danke, du hattest Recht mit dem menu.clear(), ich hab jetzt noch zusätzlich menu.clearHeader() eingebaut und es funzt super!

    @Sentenza
    Danke, ich hab das mit dem return true wohl irgendwie überlesen haben, zu viele Bäume im Wald :)
     

Diese Seite empfehlen