ViewPager frage

  • Hallo miteinander,


    ich stecke etwas fest an einem Punkt und komme einfach nicht weiter. Ich möchte ganz einfach dem "viewPager.setAdapter()" den Wert aus "String Category_l = intent.getExtras().getString("Category_l");" übergeben, aber ich komme einfach nicht drauf, wie ich das machen soll und was ich in den Verschiedensten sachen die ich probiert habe falsch mache, vielleicht stehe ich auf dem Schlauch und es ist eigentlich ganz einfach. Ich würde mich über jede Hilfe freuen.


    Vielen Dank


    Grüße
    Christoph


  • ok ich versuchs mal irgendwie verständlich nachvollziehbar zu beschreiben. :)


    Ich habe eine ArrayList, in dieser befinden "Titel" "Adpater" "Thumbnail" Diese werden in einem RecyclerView kombi mit GridView dargestellt und sind Filterable. Bei onClick öffnet sich eine neue Activity und bekommt "Titel" übergeben und soll auch den "Adapter übergeben bekommen. Den Adapter benötige ich um dem ViewPager mit einen PhotoView die ImageResource mit 3 Bildern jeweils zu übergeben.



    ImageAdapter:



    Ich habe aber mehrere "ImageAdapter" damit ich je nachdem was angeklickt wird diesen laden könnte.


    Im code oben ist es "acs" es gäbe z.B. noch "ana" "anap" usw.


    für meine liste:



    Code
    lstlandw = new ArrayList<>();
            lstlandw.add(new land_list("SOP – Akutes Coronar-Syndrom (ACS)","acs",R.drawable.sop_acs_1,R.drawable.sop_acs_2,R.drawable.sop_acs_3,R.drawable.sop_acs_1_klein));
            lstlandw.add(new land_list("SOP – Anaphylaxie Kinder bis 10kg/KG","anapk",R.drawable.sop_anap_k_1 , R.drawable.sop_anap_k_2 , R.drawable.sop_anap_k_3,R.drawable.sop_anap_k_1_klein));
            lstlandw.add(new land_list("SOP – Anaphylaxie Kinder ab 10kg/KG und Erwachsene","anap",R.drawable.sop_anap_erw_1,R.drawable.sop_anap_erw_2,R.drawable.sop_anap_erw_3,R.drawable.sop_anap_erw_1_klein));
    
    
    usw.
  • Zitat

    Bei onClick öffnet sich eine neue Activity und bekommt "Titel" übergeben und soll auch den "Adapter übergeben bekommen.

    Das ist ja jetzt wider ein etwas anderes Thema du willst einer Activity ein Objekt (Adapter) mit einen Intent Bundle Übergeben . Das geht so nicht. Java ist Call by Value.


    Im Budle werden nur Key Wert Paare übergeben.


    Möglichkeit ist das erstellen eines Parcelable.
    https://www.andreasschrade.com…on-parcelable-uebergeben/

  • Zitat

    allerdings müsste ich damit das so wie ich mir das überlegt habe, auch funktioniert, ich den Namen des Adapters übergeben können jedes mal.

    Wo und wie willst du das übergeben ? Was willst du mit dem Namen des Adapters ? Du wist doch das Objekt haben und nicht den Namen.






    Ich würde hier wohl einen etwas anderen Weg gehen um Daten von Activity zur anderen Activity zu übergeben.
    Besser gesagt um von beiden Activitys auf die gleiche Daten Klasse zuzugreifen.


    Dafür würde ich eine Singelton Klasse benutzen. Oder neuer ein ViewModel.



    Von der Singelton Klasse gibt es nur eine Instanz und die kannst du dir in jeder Activity zur Laufzeit holen und somit auch zugreifen.
    Schaue dir das Prinzip mal an.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!