1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. mc-bain, 12.04.2012 #1
    mc-bain

    mc-bain Threadstarter Neuer Benutzer

    Hallo,
    ich verwende den Viewpager, um mich "wischend" von Woche zu Woche in einem Kalender zu angeln.
    Dies habe ich so gelöst:
    Code:
     public Object instantiateItem(View collection, int position) {   
        
                LayoutInflater inflater = (LayoutInflater) collection.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);  
                View page = inflater.inflate(mResId, null);            
                
                ListView lv = (ListView) page.findViewById(R.id.listView1);
    
                String[] from = new String[]{"Caption"};
                int[] to = new int[]{R.id.textView1};         
                
             
                    ArrayList<HashMap<String, String>> myListing = new ArrayList<HashMap<String, String>>();;
                    
                    for (int j=0; j<=5; j++) {
                         HashMap<String, String> item = new HashMap<String, String>();
                         item.put("Caption", "Zeile " + String.valueOf(j));
                        
                         myListing.add(item);
                    }
                
                                
                    SimpleAdapter adapter = new SimpleAdapter(
                            Viewpager2Activity.this,
                            myListing,
                            R.layout.item,
                            from,
                            to );
                                    
                    
                    lv.setAdapter(adapter);                    
                
                ((ViewPager) collection).addView(page, 0);                   
                
                return page;
            }
    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ß
    mc
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
Wandernder Text Android App Entwicklung Heute um 11:49 Uhr
[OFFEN] Lists-in-List-Problem Android App Entwicklung Donnerstag um 17:56 Uhr
[OFFEN] Problem mit meiner Login App Android App Entwicklung 10.06.2017
[OFFEN] SharedPreferences und ViewPager, unique key Android App Entwicklung 06.06.2017
[OFFEN] git-Problem in Android Studio (Windows) Android App Entwicklung 24.05.2017
[ERLEDIGT] put in HashMap bringt App zum abstürzen Android App Entwicklung 22.05.2017
[ERLEDIGT] Problem mit Async Task und auszuführender Aufgabe Android App Entwicklung 02.05.2017
[OFFEN] ClickListener in ViewPager (dynamischer Seitenaufruf) Android App Entwicklung 09.04.2017
[ERLEDIGT] Problem beim Starten einer neuen Activity Android App Entwicklung 21.03.2017
Excel Dokument mithilfe von JExcelAPI auslesen funktioniert nicht :/ Android App Entwicklung 02.03.2017
Du betrachtest das Thema "Viewpager Problem" im Forum "Android App Entwicklung",