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

imageview findviewbyid returns null

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von snake_2012, 19.01.2012.

  1. snake_2012, 19.01.2012 #1
    snake_2012

    snake_2012 Threadstarter Neuer Benutzer

    Beiträge:
    3
    Erhaltene Danke:
    0
    Registriert seit:
    19.01.2012
    Hallo Zusammen,

    ich habe jetzt ein paar stunden gegoogelt, wurde zwar auch fündig, bin aber damit nicht weitergekommen.
    Hoffentlich kann mir hier jemand weiterhelfen.

    Es geht einfach nur darum, dass ich eine View in meiner Klasse initialisieren möchte und dabei "findViewById(R.drawable.on_off);" verwende.
    Das Problem, ich bekomme immer ein NULL als Returnwert.
    Code:
     public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            tcpCon = new TcpCon();
            
            img_on_off = (ImageView) findViewById(R.drawable.on_off);
            img_on_off_highlitghed = (ImageView) findViewById(R.drawable.on_off_highlighted);
            
        }
    
    Ich habe auch schon versucht das R file neu zu kompilieren, es mit einem neuen Projekt versucht, es funktioniert aber trotzdem nicht.

    Vielen Dank im voraus!

    Grüße,
    sanke_2012
     
  2. swordi, 19.01.2012 #2
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    R.drawable.on_off verweist auf ein Drawable - nicht auf eine id einer ImageView

    es müsste etwas mit R.id.xxx sein
     
  3. snake_2012, 19.01.2012 #3
    snake_2012

    snake_2012 Threadstarter Neuer Benutzer

    Beiträge:
    3
    Erhaltene Danke:
    0
    Registriert seit:
    19.01.2012
    Code:
    public final class R {
        public static final class attr {
        }
        public static final class drawable {
            public static final int ic_launcher=0x7f020000;
            public static final int on_off=0x7f020001;
            public static final int on_off_highlighted=0x7f020002;
        }
        public static final class id {
            public static final int imageView1=0x7f050001;
            public static final int relativeLayout1=0x7f050000;
        }
        public static final class layout {
            public static final int main=0x7f030000;
        }
        public static final class string {
            public static final int app_name=0x7f040001;
            public static final int hello=0x7f040000;
        }
    }
    Das ist mein R file und so wie du es beschrieben hast funktioniert es leider auch nicht.
    Ich habe es schon mal so ähnlich in einem anderen Projekt gemacht und habe es auch rauskopiert um es hier zu verwenden, umso mehr ist die Verwunderung, weshalb es nicht funktioniert.
     
  4. the_alien, 19.01.2012 #4
    the_alien

    the_alien Android-Lexikon

    Beiträge:
    1,559
    Erhaltene Danke:
    184
    Registriert seit:
    04.05.2009
    Wenn du imageView finden willst musst du nach R.id.imageView suchen.
    Es heißt ja auch findViewById und nicht findViewByDrawable oder findViewByLayout.
     
  5. DieGoldeneMitte, 19.01.2012 #5
    DieGoldeneMitte

    DieGoldeneMitte Android-Lexikon

    Beiträge:
    1,230
    Erhaltene Danke:
    256
    Registriert seit:
    05.02.2010
    Phone:
    Nexus 5X
    Tablet:
    Nexus 7 (2013)
    Die einzigen IDs, auf die findViewById etwas liefern kann sind ganz offensichtlich R.id.imageView1 und R.id.relativeLayout1.
     
  6. snake_2012, 19.01.2012 #6
    snake_2012

    snake_2012 Threadstarter Neuer Benutzer

    Beiträge:
    3
    Erhaltene Danke:
    0
    Registriert seit:
    19.01.2012
    Danke für die Hilfe, jetzt ist es klar geworden.

    LG
     
    Zuletzt bearbeitet: 19.01.2012

Diese Seite empfehlen