1. Gewinne jetzt ein UMiDIGI C Note - alle Informationen findest du hier!!
  1. Gibbsnich, 31.08.2010 #1
    Gibbsnich

    Gibbsnich Threadstarter Android-Hilfe.de Mitglied

    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:
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
AlertDialog Listview mit ContextMenu Android App Entwicklung 01.10.2016
Wie kann man vom Widget aus ein Fragment öffnen? Android App Entwicklung 26.06.2016
Du betrachtest das Thema "Contextmenü manuell öffnen" im Forum "Android App Entwicklung",