ImageViews "Ids" hinzufügen

  • 4 Antworten
  • Letztes Antwortdatum
S

schornstein

Neues Mitglied
0
Hallo Leute ich bräuchte mal wieder Hilfe.
Und zwar erzeuge ich in einer Methode ein ImageView und nun möchte ich, dass jedes ImageView, das erzeugt wird automatisch eine Nummer/ID hinzugefügt wird (1,2,3,4,...).

Code:
private void eineMueckeAnzeigen() {

        int breite = spielbereich.getWidth();
        int hoehe = spielbereich.getHeight();

        // Muecken-Image
        final ImageView muecke = new ImageView(this);
        muecke.setImageResource(R.drawable.muecke);
                   
        muecke.setOnClickListener(this);
        int muecke_breite = (int) Math.round(massstab * 50);
        int muecke_hoehe = (int) Math.round(massstab * 42);
        int links = zufallsgenerator.nextInt(breite - muecke_breite);
        int oben = zufallsgenerator.nextInt(hoehe - muecke_hoehe);

        FrameLayout.LayoutParams params = new     FrameLayout.LayoutParams(
                muecke_breite, muecke_hoehe);
        params.leftMargin = links;
        params.topMargin = oben;
muecke.setOnClickListener(new OnClickListener() {.....
Dann möchte ich später auf diese ImageViews in einer anderen Methode zugreifen können, so in etwa
Code:
int nummer=0;
        while(nummer<spielbereich.getChildCount()) {
            ImageView muecke = (ImageView) spielbereich.getChildAt(nummer);
Ich hoffe ihr könnt mir helfen:smile:
 
Schönen guten Abend.

Ich denke was du suchst ist
Code:
setTag(int key, Object tag)
oder
Code:
setTag(Object tag)
und zum auslesen
Code:
getTag(int key)
bzw.
Code:
getTag()
Hier der Link auf developer.android.com

Gruß
Jens
 
  • Danke
Reaktionen: schornstein
Ich kenne jetzt nicht deinen "spielbereich", was das für ein Objekt ist, aber könntest du dort nicht eine Map<Integer, ImageView> einbauen in die du dann in deiner getChildAt mit Map.get() reingreifst?

edit: @jens ich dachte zuerst auch an setTag, aber so wie ich das verstehe will er die ImageView zu einer Nummer und nicht die Nummer zur ImageView, die er dann schon in der Hand haben müsste.
 
  • Danke
Reaktionen: schornstein
Danke für eure Antworten.

...aber so wie ich das verstehe will er die ImageView zu einer Nummer ..
Genau so habe ich das gemeint :).
Map<Integer, ImageView>
, davon habe ich heute zum ersten mal gehört^^ ist mir noch neu.
Was ist das den genau und was kann ich damit machen?
 
Zurück
Oben Unten