- Forum-Beiträge: 18
12.04.2012, 14:19:00 via Website
12.04.2012 14:19:00 via Website
ich verwende den Viewpager, um mich "wischend" von Woche zu Woche in einem Kalender zu angeln.
Dies habe ich so gelöst:
2
3 LayoutInflater inflater = (LayoutInflater) collection.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
4 View page = inflater.inflate(mResId, null);
5
6 ListView lv = (ListView) page.findViewById(R.id.listView1);
7
8 String[] from = new String[]{"Caption"};
9 int[] to = new int[]{R.id.textView1};
10
11
12 ArrayList<HashMap<String, String>> myListing = new ArrayList<HashMap<String, String>>();;
13
14 for (int j=0; j<=5; j++) {
15 HashMap<String, String> item = new HashMap<String, String>();
16 item.put("Caption", "Zeile " + String.valueOf(j));
17
18 myListing.add(item);
19 }
20
21
22 SimpleAdapter adapter = new SimpleAdapter(
23 Viewpager2Activity.this,
24 myListing,
25 R.layout.item,
26 from,
27 to );
28
29
30 lv.setAdapter(adapter);
31
32 ((ViewPager) collection).addView(page, 0);
33
34 return page;
35 }
Wie aus dem Code hervorgeht, hole ich mir bei jeder Instanzierung die Listview und befülle anschließend diese (Die Befüllung der Listview geschieht eigentlich über einen Webservice, ich habe aber aus Beispielgründen einfach eine Map über eine For-Schleife erzeugt). Somit erziele ich den gewünschten Effekt, dass bei jedem "Wischen" die Listview dynamisch neu erzeugt und bestückt wird.
Leider wird beim start der App die instantiateItem Methode 3 Mal automatisch aufgerufen, was darin resultieren würde, dass 3 Mal die aktuelle Woche geladen werden würde. Hat jemand eine Idee wie ich das Problem lösen könnte, bzw. eleganter lösen könnte?
Vielen Dank.
Gruß
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.