Popup window aus ListView öffnen

J

jdajul

Ambitioniertes Mitglied
1
Hallo, ich möchte gerne eine Liste erstellen mit Veranstaltungen. Dort stehen in der Liste Name und Informationen zu der jeweiligen Veranstaltung. Eine veranstaltungsbeschreibung soll jetzt bei klick auf den jeweiligen Listview Eintrag aufpoppen.
Hier mein Versuch, kann mir jemand sagen was ich falsch mache? bei mir kommt leider immer der gleiche Eintrag in die Beschreibung, nicht der zur Veranstaltung gehörige...

Code:
myDB = this.openOrCreateDatabase(MY_DB_NAME, Context.MODE_ENABLE_WRITE_AHEAD_LOGGING, null);
        DMReturn a = DialogManager.manageDialogue(myDB, response);
        Map<String, String> variables = a.getDbreturn();
        String dialogact = a.getDialogact();
        System.out.println("databasae inhalt " + a);
        List<Map> events = a.getEvents();
        items.clear();
        items.add(new SectionItem("Weitere Veranstaltungen..."));

        for (int i = 0; i < events.size(); i++) {
            Map event = a.getEvents().get(i);
            items.add(new EntryItem(event.get("name").toString(), "Ort: " + event.get("addressname").toString() +
                    "  Zeit: " + event.get("time") + "  Datum: " + event.get("date") + "  Ort: " + event.get("addressCity")));

            lview.setOnItemClickListener(new AdapterView.OnItemClickListener() {

                @Override
                public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                                        long arg3) {
                    // TODO Auto-generated method stub
                    final LayoutInflater layoutInflater
                            = (LayoutInflater)getBaseContext()
                            .getSystemService(LAYOUT_INFLATER_SERVICE);
                    View popupView = layoutInflater.inflate(R.layout.popup, null);
                    final PopupWindow popupWindow = new PopupWindow(
                            popupView,
                            ViewGroup.LayoutParams.WRAP_CONTENT,
                            ViewGroup.LayoutParams.WRAP_CONTENT);
                    ((TextView)popupView.findViewById(R.id.popuptext)).setText(event.get("description").toString());

                    Button btnDismiss = (Button) popupView.findViewById(R.id.dismiss);
                    btnDismiss.setOnClickListener(new Button.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            // TODO Auto-generated method stub
                            popupWindow.dismiss();
                        }
                    });
                  //  popupWindow.showAtLocation();
                    popupWindow.showAsDropDown(lview,0,-50);

                }
            });
        }
        lview.setAdapter(adapter);
 
Du überschreibst jedes mal onItemClick in der for.. Dein letztes Event wird dort eingetragen...
 
  • Danke
Reaktionen: jdajul

Ähnliche Themen

A
Antworten
10
Aufrufe
1.017
swa00
swa00
R
  • Robby1950
2
Antworten
23
Aufrufe
1.003
Robby1950
R
B
Antworten
6
Aufrufe
1.049
jogimuc
J
Zurück
Oben Unten