imageView.setMaxHeight wirft nullPointer exception bei WelcomeSlider

  • Antworten:5
  • OffenNicht stickyNicht beantwortet
  • Forum-Beiträge: 37

21.11.2018, 09:21:50 via Website

Ich habe mit diesem tutorial (https://www.androidhive.info/2016/05/android-build-intro-slider-app/) einen Welcome Slider für meine App erstellt. Ich arbeite mit mehreren xml dateien für das layout und mit einer Activity.
Wenn ich in meiner Activity Die max. höhe des Logos festlegen will wirft er mir eine nullPointer Exception.

 imageViewLogoWelcomeScreen1 = (ImageView)findViewById(R.id.imageViewLogoWelcomeScreen1);

 getScreenSizePixel = this.getWindowManager().getDefaultDisplay().getWidth();
    screenSizeDp =  getScreenSizePixel/(int)getResources().getDisplayMetrics().density;

    imageViewLogoWelcomeScreen1.setMaxHeight(screenSizeDp/3);

Was hab ich falsch gemacht? Kann ich von der Activity aus nicht auf die layout files zugreifen?

Diskutiere mit!
Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 10.206

21.11.2018, 11:38:05 via App

Wenn du das passende Layout gesetzt hast, dürfte das nicht passieren.
Prüfe mal ob deine ImageView wirklich auf dem Layout gefunden wird

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 37

23.11.2018, 18:05:32 via Website

Das imageView sollte gefunden werden, allerdings habe ich nicht meine welcome_slide.xml als layout meiner welcomeActivity.class definiert sondern eine activity_welcome.xml die in einem viewPager meine welcome_slide.xml darstellt. Das imageView ist teil des welcome_slide.xml. Ist das vlt das Problem?
Und wenn ja, wie kann ich das lösen?

Hilfreich?
Diskutiere mit!
Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 10.206

23.11.2018, 18:28:18 via Website

Wenn die welcome_slide.xml nur im ViewPager angezeigt wird, dann muss dein Code auch in diesem Context (also im Fragment) ausgeführt werden.
Aber mit deinen dürftigen Infos kann ich dir da nicht weiterhelfen.

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 506

23.11.2018, 18:34:44 via Website

Hallo

Das imageView sollte gefunden werden,

Sollte reicht nicht ja oder nein. Ich denke nein sonst hättest du keinen NullPointer.

Ohne etwas Code wo wie und wann du welches Layout lädst kommen wir da hier wohl nicht weiter.

Und wie ist das mit dem Viewpager da ist das sowieso etwas anders erkläre erstmal ordentlich.

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 42

25.11.2018, 10:35:59 via Website

Das deine imageView nicht direkt in der Activity ist, ist bestimmt das Problem.
Ich gehe mal davon aus, dass dein Code einfach irgendwo in der Klasse deiner MainActivity steht, ich rate einfach mal in der onCreate-Methode.
Das "findViewById" bezieht sich in diesem Fall auf den Context von der Activity und nicht auf den ViewPager, weshalb da NULL rauskommt.

Du könntest den Code entweder im Fragment ausführen, oder dir den ViewPager mit "findViewById" holen, und dann von dem die "findViewById" ausführen. Bin nicht sicher, ob das so funktioniert und wäre auch nicht besonders elegant, aber dann hätten wir zumindest schonmal den Fehler eingegrenzt. ^^

Hilfreich?
Diskutiere mit!

Empfohlene Artikel