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

Contextmenü manuell öffnen

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Gibbsnich, 31.08.2010.

  1. Gibbsnich, 31.08.2010 #1
    Gibbsnich

    Gibbsnich Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    56
    Erhaltene Danke:
    0
    Registriert seit:
    22.06.2010
    Hallo,

    ich möchte das das Contextmenü von verschiedenen Klassen aus öffnen und habe die entsprechenden Listener implementiert.
    In meiner Activity gibt es folgende Funktion:
    Code:
        public void startMenu(View view) {
            openContextMenu(view);
        }
    
    Der Debugger zeigt, dass diese Funktion auch fleißig aufgerufen wird, jedoch erscheint das Contextmenü nicht.

    Erstellt wird es in der Activity:
    Code:
    OnCreateContextMenuListener contextMenuListener =  new OnCreateContextMenuListener(){
            public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuinfo){
                if (v.equals(BIS_Common.myGallery)) {
                    menu.clear();
                    menu.add(0, BIS_Common.IS_XML_LISTE, 2, "Option 1");
                    menu.add(0, BIS_Common.IS_XML_DIALOG, 3, "Option 2");
                } else {
                    if (BIS_Common.LastXmlData == null){
                        menu.clear();
                    } else {
                        BIS_Common.LastXmlData.erstelleMenu(menu);
                    }
                }
            }
        }
    (Von anderer Stelle im Programm klappt das auch ganz prima !)

    Die OnCreate....Funktion wird auch den Views zugewiesen, z.B. bei der Gallery:
    Code:
        public View getView(int position, View convertView, ViewGroup parent) {
            TextView v = new TextView(mContext);
            GalleryRec gRec = null;
            String ausgabe = "Pos " + position;
            v.setBackgroundResource(mGalleryItemBackground);
            v.setText(ausgabe);
            v.setLayoutParams(new Gallery.LayoutParams(breite + 10, 64));
            v.setGravity(Gravity.CENTER_HORIZONTAL);
    
            v.setOnLongClickListener(new OnLongClickListener(){
                @Override
                public boolean onLongClick(View v){
                    // mainOnCreateCtxMenuL zeigt auf die o.g. Funktion meiner Activity
                    v.setOnCreateContextMenuListener(mainOnCreateCtxMenuL);
                    BIS_Common.bisActivity.startMenu(v);
                    return false;
                }
            });
            
            return v;
    
        }
    
    Warum komme nur zum Aufruf openContextMenu(), ohne dass ein Menü erscheint ?
    :bored:
     

Diese Seite empfehlen