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

ListView TextView und 2 ImageViews in einer Reihe

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von berndschneider, 19.03.2012.

  1. berndschneider, 19.03.2012 #1
    berndschneider

    berndschneider Threadstarter Neuer Benutzer

    Beiträge:
    19
    Erhaltene Danke:
    0
    Registriert seit:
    19.03.2012
    Hallo Leute!

    Ich beschäftige mich neu mit Android und muss ne kleine App schreiben.

    In einer ListView möchte ich pro Reihe 1 TextView und 2 ImagViews nebeneinander haben:

    Text1 ImageView1 ImageView2

    Die icons für die ImageViews sollen dabei aus res/drawable geholt werden.

    Jemand ne Idee, wie man das realisieren kann? Würde mich über eure Hilfe freuen.

    Gruß
    Bernd
     
  2. v Ralle v, 19.03.2012 #2
    v Ralle v

    v Ralle v Android-Lexikon

    Beiträge:
    913
    Erhaltene Danke:
    199
    Registriert seit:
    27.08.2010
    Hallo,

    das ist eigentlich ziemlich einfach. Ich empfehle dir daher ein gutes Tutorial: Android ListView and ListActivity - Tutorial Da wird auch gezeigt, wie man sein eigenes Layout rendert.

    Zeig mal deinen Ansatz, dann kann man sicher genauer helfen.
     
    berndschneider bedankt sich.
  3. berndschneider, 20.03.2012 #3
    berndschneider

    berndschneider Threadstarter Neuer Benutzer

    Beiträge:
    19
    Erhaltene Danke:
    0
    Registriert seit:
    19.03.2012
    Hallo Ralle!

    Danke ich kümmer mich erst um die erste Activity und komme dann auf die ListView zurück und poste dann mein konretes Beispiel :)
     
  4. v Ralle v, 20.03.2012 #4
    v Ralle v

    v Ralle v Android-Lexikon

    Beiträge:
    913
    Erhaltene Danke:
    199
    Registriert seit:
    27.08.2010
    Alles klar!
     
    berndschneider bedankt sich.
  5. berndschneider, 23.03.2012 #5
    berndschneider

    berndschneider Threadstarter Neuer Benutzer

    Beiträge:
    19
    Erhaltene Danke:
    0
    Registriert seit:
    19.03.2012
    Hallo Ralle !

    Also ich geh da mal systematisch ran:
    Ich möchte 12 Buttons immer zufällig anordnen.
    jeder Button hat ein Bild drauf.
    Jeder Button besitzt eine ID bzw einen Namen.

    die Zuordnung der Bilder soll so sein, dass der Button mit der ID "b1" das bild1 zugeordnet bekommt. b2 bekommt bild2 usw...

    die buttons sollen bei jedem onCreate() zufällig auf dem Bildschirm angeordnet werden.

    Ich will auch immer in der onClick Methode abfragen können welcher Button geklickt wurde, indem ich
    das hier benutze
    view.getResources().getResourceName(view.getId())
    hatte ich mal den Namen eines buttons auslesen können.

    Ich habe es zuerst mit einer Gridview und einem Customadapter versucht, aber da habe ich mich verwurschtelt und komm nicht weiter.

    Ich weiß auch garnicht ob ich nen Adapter überhaupt nutzen soll.

    kann man sowas auch in java-code erzielen:

    <Button
    android:id="@+id/btn_OK"
    android:layout_width="108dp"
    android:layout_height="wrap_content"
    android:text="@string/button_LOGIN" />


    Gemeint ist android:id="@+id/btn_OK"

    denn mit view.getResources().getResourceName(view.getId())
    würde ich btn_OK zurückbekommen.

    in java kann ich ja nicht button.setId("btn_OK") schreiben,
    es gibt auch keine methode setName("btn_OK")
     
  6. v Ralle v, 23.03.2012 #6
    v Ralle v

    v Ralle v Android-Lexikon

    Beiträge:
    913
    Erhaltene Danke:
    199
    Registriert seit:
    27.08.2010
    Hi,

    so ganz steig ich mit der getResourceName Methode nicht durch. Aber ich habe dein Ziel verstanden.

    Ich würde vielleicht sogar ganz anders rangehen:

    -Bau deine GUI und lass die Button in der Reihenfolge mit id1, id2...
    -Initialisiere eine Liste mit den Texten
    -Collections.shuffle(..) würfelt dir alles durcheinander
    -nun die Texte den Button hinzufügen (setText())
    -wird auf einen Button geklickt, kannst du den Text abfragen und den Index aus der Liste holen

    Würde das bei dir funktionieren?

    Was das ganze mit einer ListView zu tun hat, weiß ich nun nicht. Wobei sich das sicher gut in eine Liste verpacken lassen würde, wenn du alle Button untereinander anordnen willst.
     
  7. jskeletti, 26.03.2012 #7
    jskeletti

    jskeletti Erfahrener Benutzer

    Beiträge:
    155
    Erhaltene Danke:
    6
    Registriert seit:
    11.08.2010
    @berndschneider: Hast Du es hinbekommen? Ich hab ein ähnliches Problem, nur möchte ich:
    Image1 | TextView | Image2
    wobei Image1 und Image2 feste breiten haben (48px) und TextView sich der restlichen Breite des Bildschirms (Handy oder Tablet, horizontal oder vertikal) anpassen soll. Leider komm ich nie so weit. Meistens wird dann das zweite Image aus dem Bild geschoben.
     
  8. swordi, 26.03.2012 #8
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    naja

    du hast 3 möglichkeiten

    entweder nimmst ein tablelayout und streckst die mittlere spalte
    oder
    du arbeitest mit layout weight
    oder
    du arbeitest mit relativelayout
     
  9. jskeletti, 26.03.2012 #9
    jskeletti

    jskeletti Erfahrener Benutzer

    Beiträge:
    155
    Erhaltene Danke:
    6
    Registriert seit:
    11.08.2010
    Mit welcher Lösung habe ich den wenigsten Aufwand, wenn es um verschiedene Auflösungen geht?
     
  10. swordi, 26.03.2012 #10
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    egal
     
  11. jskeletti, 26.03.2012 #11
    jskeletti

    jskeletti Erfahrener Benutzer

    Beiträge:
    155
    Erhaltene Danke:
    6
    Registriert seit:
    11.08.2010
    OK, hast Du vielleicht einen (oder mehrere) Codeschnipsel?
     
  12. swordi, 26.03.2012 #12
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    google zeigt dir dazu sicherlich genug an.
     

Diese Seite empfehlen