Oh das klingt deutlich eleganter, das versuche ich mal. Danke
Beiträge von Erbi112
-
-
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.
-
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:
Code
Alles anzeigenpublic class ImageAdapter extends PagerAdapter { private Context mContext; private int[] mImageIds = new int[] {R.drawable.sop_acs_1, R.drawable.sop_acs_2, R.drawable.sop_acs_3}; public ImageAdapter(Context context) { mContext = context; } @Override public int getCount() { return mImageIds.length; } @Override public boolean isViewFromObject(View view, Object object) { return view == object; } @Override public Object instantiateItem(ViewGroup container, int position) { PhotoView imageView = new PhotoView(mContext); imageView.setScaleType(PhotoView.ScaleType.CENTER_INSIDE); imageView.setImageResource( mImageIds[position]); container.addView(imageView, 0); return imageView; } @Override public void destroyItem( ViewGroup container, int position, Object object) { container.removeView((PhotoView) object); } }
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
Alles anzeigenpublic class land_list { private String Title_l; private String Adapter_l; private int Photo_l; private int Photo2_l; private int Photo3_l; private int Thumbnail_l; public land_list() { } public land_list(String title_l, String adapter_l, int photo_l, int photo2_l, int photo3_l, int thumbnail_l) { Title_l = title_l; Adapter_l = adapter_l; Photo_l = photo_l; Photo2_l = photo2_l; Photo3_l = photo3_l; Thumbnail_l = thumbnail_l; } public land_list(String title_l, String adapter_l, Integer photo_l, Integer photo1_l, Integer photo2_l) { } public String getTitle_l() { return Title_l; } public String getAdapter_l() { return Adapter_l; } public int getPhoto_l() { return Photo_l; } public int getPhoto2_l() { return Photo2_l; } public int getPhoto3_l() { return Photo3_l; } public int getThumbnail_l() { return Thumbnail_l; } public void setTitle_l(String title_l) { Title_l = title_l; } public void setCAdapter_l(String adapter_l) { Adapter_l = adapter_l; } public void setPhoto_l(int photo_l) { Photo_l = photo_l; } public void setPhoto2_l(int photo2_l) { Photo2_l = photo2_l; } public void setPhoto3_l(int photo3_l) { Photo3_l = photo3_l; } public void setThumbnail_l(int thumbnail_l) { Thumbnail_l = thumbnail_l; } }
Codelstlandw = 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.
-
Vielen Dank schon mal für deine Antwort, das leuchtet mir ein, das kann nicht gehen. Die Frage ist, wie bekomme ich den PagerAdapter übergeben. Die Werte dazu kommen aus einer ArrayList.
-
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
ChristophCode
Alles anzeigentvTitel_l = (TextView) findViewById(R.id.textTitel_l); //Recieve data Intent intent = getIntent(); String Titel_l = intent.getExtras().getString("Titel_l"); String Category_l = intent.getExtras().getString("Category_l"); //Setting values tvTitel_l.setText(Titel_l); ViewPager viewPager = (ViewPager) findViewById(R.id.fullimage_l_v); viewPager.setAdapter(Category_l);