1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. peacefish, 17.10.2011 #1
    peacefish

    peacefish Threadstarter Neuer Benutzer

    Hi,

    bin noch relativ neu in der Java/Android Programmierung und habe mal eine kleine Frage. Ich möchte das in einem View dargestellte image Beim Klick auf diesen wechseln. Damit möchte ich sozusagen die Images die ich in r/drawable abgelegt habe durchklicken können.
    der Wechsel auf ein bestimmtes image ist mir bereits gelungen:

    view.setImageResource(R.drawable.imageDasIchSetzenMöchte);

    Ich möchte aber sowas in dieser Art verwirklichen um das Image bei jedem Klick zu wechseln:

    view.setImageResource(view./*getCurrentImageResource()++*/);

    also benötige ich eine Funktion, die mir den Wert des Momentan im view dargestellten Images zurückgibt("getCurrentImageResource"). welche Funktion von view kann ich dazu verwenden?

    r/drawable
    Code:
      public static final class drawable {
            public static final int img1=0x7f020000;
            public static final int img2=0x7f020001;
    ...
           
        }
    
    Vielen Dank für euere Hilfe!
     
  2. sixi, 17.10.2011 #2
    sixi

    sixi Erfahrener Benutzer

    Wenn du die Namen der Ressources kennst, bzw. das Schema (dein img1, img2, ... deutet darauf hin), dann kannst du dir die IDs über getIdentifier holen.
     
  3. DieGoldeneMitte, 18.10.2011 #3
    DieGoldeneMitte

    DieGoldeneMitte Android-Lexikon

    Ich würde das in etwa so machen:

    Code:
    public final static int[] ids = {
      R.drawable.img1, R.drawable.img2, ...
    };
    
    ...
    v.setImageDrawable( getResources().getDrawable(ids[current++ % ids.length]) );
    
     
    Zuletzt bearbeitet: 18.10.2011
  4. peacefish, 22.10.2011 #4
    peacefish

    peacefish Threadstarter Neuer Benutzer

    Hey, vielen Dank für die schnelle Rückmeldung.

    ich habe leider nicht ganz richtig ausgedrückt was ich eigentlich will. :)
    hier mal ein Code beispiel.

    Code:
    
    
    public class PicturesActivity extends Activity implements OnClickListener,  {
          
         
        ImageView x0y0,x1y0,x2y0,x0y1,x1y1,x2y1,x0y2,x1y2,x2y2,x3y0;
            
        int i=0x7f020000-1;
          
        
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
                 
        
            x0y0=(ImageView)findViewById(R.id.x0y0);
            ...    
               
                   
            
            x0y0.setOnClickListener(this);
            ...
    }
        
    
        public void onClick(View v) {
                    
            i++;
            if(i==0x7f020002)//blende Icon aus :) 
            {    i++;        }
          
             
            
            if(v.getId()==R.id.x0y0)
            {        x0y0.setImageResource(i);}
            ...       
            
            /**
    hier möchte ich über den view v die Imageresource ändern.
    Da ich ansonsten für jeden neuen imageview eine neue Bedingung einführen muss. Das muss doch irgendwie eleganter möglich sein.
    
    */
                    
            
            if(i==0x7f02000a)        {  i=0x7f020000-1;        }
             
                        
        }
    }
    
    
    
    Vielen Dank für euere Hilfe!
     
  5. peacefish, 22.10.2011 #5
    peacefish

    peacefish Threadstarter Neuer Benutzer

    Hey,
    noch ein kleiner Fragen Zuschlag.
    Mein eigentliches Ziel ist das Programmieren eines Bahnschienenstreckeneditors für eine Modellbahn.

    (Soll dem Streckeneditor von der Märklin CentralStation nachempfunden sein)

    Das ganze soll vom Prinzip her wie folgt ablaufen(Siehe auch angehängte Skizze).

    Ich bin mir noch nicht ganz darüber im Klaren, welches Layout man für eine solche Aufgabe eleganter weise verwendet.

    Das layout soll horizontal und vertical scrollbar sein
    und auch zoombar.

    Jetzt Frage ich mich ob ich ein Table Layout oder ein Relative Layout verwenden soll.
    Kann ich das Scrollen und Zoomen mit beiden verwirklichen?
    oder gibt es einen komplett anderen Ansatz der hierfür eleganter/geeigneter ist?
    [​IMG]
    Vielen Dank Für euere Hilfe!
    [​IMG]
     

    Anhänge:

Die Seite wird geladen...
Ähnliche Themen Forum Datum
[ERLEDIGT] Komplexe View erstellen Android App Entwicklung 13.09.2017
[ERLEDIGT] Frage zu den drawable-Ordnern Android App Entwicklung 20.05.2017
[RÜCKMELDUNG FEHLT] Text und Bilder in View einbinden Android App Entwicklung 26.03.2017
[OFFEN] Toolbar Hintergrund Drawable animieren und in der vollen größe anzeigen Android App Entwicklung 22.03.2017
[ERLEDIGT] View zum selektieren der Wochentage Android App Entwicklung 19.03.2017
Fehlermeldung: Incorrectly called buildLayer on View: ShortcutAndWidgetContainer, destroying layer... Android App Entwicklung 30.01.2017
Wie kann ich die Anzahl von Images im Drawableordner zählen? Android App Entwicklung 08.01.2017
Viewelemente neu zeichnen Android App Entwicklung 04.01.2017
Text View erzeugt rendering Problem Android App Entwicklung 18.11.2016
schleife für image view animations Android App Entwicklung 24.10.2016
Du betrachtest das Thema "getResourcesID vom Drawable im View" im Forum "Android App Entwicklung",