200 Bilder von drawable auslesen in String umwandeln und in gridView übergeben

  • Antworten:3
Antonio P.
  • Forum-Beiträge: 113

07.06.2014, 12:15:36 via Website

Hallo,

ich komme nicht voran mit meiner App. Stecke in Schwierigkeiten und unter Zeitdruck.

Ich habe in res/drawable ca. 200 Bilder (.png).

Ich möchte diese auslesen und als String[] in meiner GridView über einen ArrayAdapter einsetzen.

Wie kann ich das lösen.

ABLAUF:
1Activity

Listview mit 10 items

2Activity

hier werden abhängig des angeklickten items in Activity 1 die String[], die ich aus den drawable auslese über den ArrayAdapter<String> reingeladen.

ZUM BEISPIEL.

item nummer 3 wird angeklickt, ich möchte nur 17 Bilder von den 200 Bildern als String in die GridView setzen.

BITTE UM HILFE!

— geändert am 07.06.2014, 12:16:40

Antworten
Andreas S.
  • Forum-Beiträge: 76

08.06.2014, 15:32:27 via Website

Bilder als String setzen? Ich glaube hier versteht zunächst erstmal niemand was erreicht werden soll:?

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

08.06.2014, 20:09:14 via Website

Das wird so nicht funktionieren.
Bilder sind keine Strings.
Strings sind nur zeichenketten [natürlich kannst du es umständlich umwandeln aber...]
Für Bilder benutzt man Bitmap.
Da kannst du aber auch Arrays und Array Lists von machen.

Zuerst würde ich alle Bilder in ein Integer Array [Array of Resource] laden.
Dann kannst du dieses in Drawable Arrays umwandeln.

Nun hast du deine ListView mit 10 Einträgen.
Je nachdem auf welches geklickt wird sollen andere Bilder geladen bzw. übergeben werden.
Wichtig dabei ist noch nach welchem Algorithmus die Bilder geladen werden sollen, zb, für den ersten eintrag der ListView die ersten 10.
Für den zweiten die Zweiten 10 usw.
Wenn du die Bilder einfach Random oder vor festgelegt einteilst ist es schwieriger, denn da würde mir dann nur die Klassische Switch|case einfallen.

nach der ersten Methode würdest du nur Rechnungen anstellen müssen.
Jetzt zu meiner Frage, wie sind die Bilder eingeteilt, in einer Festen Reihenfolge [jedes zweite oder die ersten/Zeiten 10|11|17]
oder nach belieben und du müsstest von Hand die Richtigen Bilder Festlegen?

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

Antworten
Antonio P.
  • Forum-Beiträge: 113

09.06.2014, 10:26:01 via App

Ich hatte gemeint nur die identifier in einem String umwandeln.

ZUM BEISPIEL
R.drawable.bild1 getIdentifier toString.

Oder so ähnlich.

Aber vielen Dank für die tolle Anleitung werde ich sicherlich gebrauchen.

Die Bilder haben eine eingeteilte Reihenfolge. Das heißt die ersten 22 Bilder gehörten zu item 1 die nächsten 15 items dem zweiten item usw.

— geändert am 09.06.2014, 10:33:58

Antworten