2013-01-22 8 views
5

Ich benutze https://gist.github.com/8cbe094bb7a783e37ad1, um mehrere Seiten eines ViewPagers gleichzeitig anzuzeigen. Es funktioniert hervorragend mit einem einfachen PageAdapter, aber ich muss eine große Menge an Bitmaps anzeigen. So lese ich http://developer.android.com/training/displaying-bitmaps/index.html und es sagt:ViewPager Karussell mit PageContainer funktioniert nicht mit FragmentPagerAdapter

Sie können dieses Muster mit einer ViewPager-Komponente implementieren, die von einem PagerAdapter unterstützt wird. Ein geeigneterer Backing-Adapter ist jedoch die Unterklasse FragmentStatePagerAdapter, die den Status der Fragmente im ViewPager automatisch zerstört und speichert, wenn sie außerhalb des Bildschirms verschwinden, wodurch die Speicherauslastung niedrig gehalten wird.

Ich habe versucht, einen neuen FragmentStatePagerAdapter zu schaffen, aber es funktioniert nicht:

E/Android Runtime (25400): android.content.res.Resources $ NotFoundException: Kann Ressource ID # 0xffffffff finden

Ich verstehe wirklich nicht, was ist der Fehler, weil ich keine bestimmten Ressourcen außer Layouts verwende.

Hat jemand eine Idee, wie man das löst?

+1

sollten Sie eine Antwort akzeptieren. Entweder du oder madtoms – deej

Antwort

9

Ich entdecke nur, dass es funktioniert, wenn ich eine android: id zum ViewPager innerhalb des PageContainer hinzufüge. Also, nur mit einer ID scheint es zu funktionieren, aber ich verstehe nicht warum.

Wenn jemand eine Idee hat, werde ich mich freuen zu verstehen.

+0

Ich bekam genau den gleichen Fehler mit meinem Code - ich erstellte meinen Viewpager im laufenden Betrieb und legte ihn in eine Containeransicht, die ich bereits in XML hatte, aber indem ich die Ansicht in XML erstellte und ihm eine ID gab der Fehler ist weg! Muss ein Fehler sein, bei dem Android keine ID richtig zuweist ... – AndroidNoob

4

The documentation ausdrücklich sagt so:

Wenn FragmentPagerAdapter mit dem Host ViewPager eine gültige ID-Gruppe hat.

Ich bin froh, dass ich deine Antwort gefunden habe, weil sie mir auch eine Weile Kopfschmerzen bereitet hat. Sobald ich deine Antwort gesehen habe, erinnere ich mich daran, sie zu überfliegen und mich wie ein Idiot zu fühlen.

+0

Hilft sehr! Vor allem, wenn man einen Viewpager programmatisch hinzufügt, da man dazu neigt, diese kleinen Dinge zu vergessen, heaha – phazedlite

Verwandte Themen