gute lösung, um listenansichtselemente beizubehalten, wenn benutzer das telefon drehen und alle daten in arrayadapter behalten
<p>ich verwende fragment mit listview. ich fülle den mit dieser listenansicht verknüpften arrayadapter mit daten, die im benutzerdefinierten loader (aus dem internet) empfangen wurden. der benutzerdefinierte arrayadapter unterstützt das unendliche scrollen (paging).</p><p>was ist die beste methode, um elemente in arrayadapter zu speichern, wenn der benutzer das gerät dreht und die bildlaufposition in listview beibehält?</p><p>ich denke an die erstellung eines nicht-visuellen fragments mit arrayadapter und die verwendung der setretaininstance-methode zum speichern von werten.</p><p>irgendwelche vorschläge für eine bessere lösung?</p>
<p>um mit dem android framework und dem fragment-lebenszyklus zu arbeiten, sollten sie die <code>onsaveinstancestate</code> -methode in ihrem fragment implementieren. der einfachheit halber habe ich angenommen, dass sie ein array von string-werten haben, die sie können get to (ich erweitere arrayadapter im allgemeinen, um die ansichtskonstruktion zu kapseln und eine bequeme methode für den zugriff auf das gesamte zugrunde liegende dataset bereitzustellen):</p><pre><code>public void onsaveinstancestate(bundle savedstate) { super.onsaveinstancestate(savedstate); // note: getvalues() is a method in your arrayadapter subclass string[] values = madapter.getvalues(); savedstate.putstringarray("mykey", values); } </code></pre><p>sie können dann die daten in ihrer oncreate-methode (oder oncreateview oder onactivitycreated - siehe <a href="http://developer.android.com/guide/components/fragments.html#lifecycle">das fragment javadoc</a> ) wie folgt abrufen:</p><pre><code>public void oncreate (bundle savedinstancestate) { super.oncreate(savedinstancestate); if (savedinstancestate != null) { string[] values = savedinstancestate.getstringarray("mykey"); if (values != null) { madapter = new myadapter(values); } } ... } </code></pre><p>auf diese weise wird sichergestellt, dass alle lebenszyklusereignisse ordnungsgemäß behandelt werden, ohne dass daten verloren gehen, einschließlich der gerätedrehung und des wechsels des benutzers zu anderen anwendungen. die gefahr, <code>onsaveinstancestate</code> nicht zu verwenden und speicher zu verwenden, ist die gefahr, dass android) dieser speicher zurückerobert wird. der gespeicherte status wäre davon nicht betroffen, die verwendung von instanzvariablen oder versteckten fragmenten würde jedoch dazu führen datenverlust.</p><p>wenn <code>savedstateinstance</code> null ist, muss kein status wiederhergestellt werden.</p><p>die funktion <code>if (values != null)</code> soll lediglich vor der möglichkeit schützen, dass kein array gespeichert wurde. wenn sie jedoch ihren arrayadapter für die verarbeitung eines null-datensatzes codieren, benötigen sie diesen nicht.</p><p>wenn ihre zeilen instanzen einer ihrer eigenen klassen und keine einzelnen datenelemente sind, können sie die parcelable-schnittstelle für diese klasse implementieren und <code>savedstate.putparcelablearray("mykey", myarray)</code> verwenden. sie werden überrascht sein, wie nützlich es ist, parcelable zu implementieren - es ermöglicht ihnen, ihre klassen in absichten weiterzugeben und viel saubereren code zu schreiben.</p>
hi @stephanvogt , die heruntergeladenen tracks werden immer auf dem gerät, aber in verbindung mit der deezer app gespeichert. hilft das? <p>dies kann eine paginierung sein oder auch nicht, aber hier ist, wie ich paginierung in meiner web-app mache:</p><pre><code>|&lt; first, &lt;&lt; previous, page [5] of 12, next &gt;&gt;, last &gt;| </code></pre><p>die äußeren vier optionen sind links, während die <code>page [5] of 12</code> ist ein formular mit dem [5] als eingabefeld. für benutzer mit aktiviertem javascript verstecke ich die schaltfläche "senden" und sende das formular beim ereignis "unfokus" oder drücke den tastendruck. der benutzer hat die option, wie viele zeilen er anzeigen möchte, die er aus einem dropdown-menü auswählen kann: 10, 20, 50, 100, alle. zusätzlich zur paginierung biete ich auch das sortieren und filtern der ergebnisse an, obwohl dies möglicherweise nicht in jeder situation sinnvoll ist.</p><p><strong>bearbeiten</strong>:</p><p>hier ist ein ausschnitt aus einem modell unserer web-app, um ihnen eine bessere vorstellung zu geben. in dieser version wurden die wörter in den schaltflächen weggelassen, werden jedoch nach einer leichten verzögerung als tooltip beim hover angezeigt. möglicherweise stellen sie jedoch fest, dass das beibehalten der wörter zu einer höheren benutzerfreundlichkeit führt.</p><p><img src="https://i.stack.imgur.com/vzbu0.png" alt="virtuosi media&#39;s pagination example"></p><p>ein paar andere dinge, auf die sie hinweisen sollten:</p><ul> <li>die schaltflächen "erste" und "vorherige" wurden deaktiviert, da es sich um die erste seite handelt.</li> <li>das blau zeigt aktive schaltflächen an (ich muss dieses spezielle thema durch eine farbprüfung ausführen, um sicherzustellen, dass farbenblinde benutzer einen unterschied feststellen können).</li> <li>die tasten bleiben immer erhalten, auch wenn sie deaktiviert sind. dies gibt der schnittstelle konsistenz.</li> <li>aufgrund der skalierung habe ich ein eingabefeld anstelle eines dropdown-auswahlfelds ausgewählt. wenn sie 3000 seiten haben, möchten sie nicht nach unten scrollen, um eine seite zu finden</li> <li>die paginierung ist in einer singulären visuellen komponente gruppiert, um ähnlichkeit im zweck anzuzeigen.</li> </ul> in den allermeisten fällen können radkappen einfach auf das rad aufgesteckt und wieder abgezogen werden. ein clipverschluss sorgt dafür, dass die blende fest am rad sitzt. die montage ist dementsprechend einfach und kann von jedem fahrzeugführer durchgeführt werden. es gibt ebenfalls schraubverschlüsse, die sicherer sind und dafür sorgen, dass radkappen nicht so schnell den halt verlieren und sogar abfallen.<br />
<br />
<div class="video"><div class="videoplayer"><iframe class="youtube-player" type="text/html" width="640" height="360" src="https://www.youtube-nocookie.com/embed/nizu1cddm28" frameborder="0" webkitallowfullscreen allowfullscreen ></iframe></div></div> hi andreas,

ich kenne den sch. mit pam nur zu gut, weil ich gerade versuche einen manjaroclient für die lmn7 zu bauen und genau da seit tagen hänge…das ist grausam. nun zu deinem problem noch ein paar gedanken/ideen:

welchen displaymanager benutzt du? benutzt du sddm? der ist bekannt dafür, mit … <p>ein standard-fortschrittsbalken und eine anzahl von karten wären wahrscheinlich ausreichend. ich bin jedoch der meinung, dass dies etwas ist, bei dem sie ein bisschen kreativ sein könnten: der effekt eines streudiagramms könnte nizza sein, sie könnten auch die neuesten pixel am hellsten machen und die älteren verblassen lassen.</p><p>wenn sie das generierte pixelplot in bezug auf die leistung speichern, sodass es nicht jedes mal berechnet werden muss, wenn es angezeigt wird, sollte dies wirklich kein problem sein. ich denke, ich würde nicht das canvas-tag verwenden, sondern ein vom server generiertes image. die aktualisierungsaktion selbst sollte nicht zu kompliziert sein: sie müssen nur das bild abrufen, das sie bereits haben, und das letzte update (oder aktualisierungen seit dem letzten rendern des bildes) abrufen und genau diese pixel ändern. wenn sie sie nach zeit verblassen möchten, verblassen sie zuerst das bereits vorhandene bild und fügen sie dann den neuesten zeitstempel der überblendungsaktion hinzu, sodass sie dies nur einmal am tag oder einmal pro stunde oder was auch immer tun. (sie können es auch bei jedem schritt tun.)</p><p>jetzt ist es weitaus komplexer als nötig, um nur fortschrittsinformationen bereitzustellen. aber es könnte eine sehr nette funktion sein und interessant zu bauen sein! und ich denke, es ist sehr machbar, es so zu implementieren, dass es ihre ressourcen nicht belastet.</p> Eine durchgehende Erdung ist schwierig, da du dich ja um die Palette bewegt.


Stattdessen würde sich anbieten die Entladung über ein Metallgegenstand durchzuführen, da dann der Funke nicht direkt auf die Haut über springt, die Energie auf eine größere Fläche verteilt ist.


Also einfach einen kleines Objekt aus Metall in die Hand nehmen und dann damit ein geerdetes oder einfach großes anders leitendes Objekt berühren.


Eigentlich ist alles was offen liegt und leitet geerdet. Vor allem wenn es sich um elektronische Geräte handelt. Heizkörper, Maschinenbett, ... Da wird sich in einer Werkshalle einiges finden. Die Halle selbst natürlich auch :) ich arbeite gerne mit firefox, weil ich firefox auf meinem bedarf einrichten kann.


da ich ein **bestimmter ordner für die downloads** festgelegt habe, reicht es mir, wenn ich da reinschaue.


entweder ist die dateiteil (als*.*.part) da oder ist es nicht. 


solltest du zu firefox auch ein downloadmanager haben wollen, dann rate ich dir zu **down them all**.


wenn du über dem den download anschmeisst, dann kannst du das abgebrochenen herunterladen jederzeit wiederaufnehmen. so viel ich weiß, kann sowas das programm audacity.
ist ne kostenlose freeware.
kannst du hier downloaden: http://www.chip.de/downloads/c1\_downloads\_13010690.html

du musst einfach den entsprechenden teil deiner aufnahme markieren, dann gehst du im menü auf effekte und schließlich auf rückwärts.


ich hoffe, ich konnte dir damit helfen.
lg julia Um den Magnetstreifen zu lesen, muss die Karte beim Lesevorgang bewegt werden, z.B. durch einen Lese-Schlitz gezogen. 


Beim Lesen des EMV-Chip muss die Karte fest vor die Chip-Kontakte gebracht werden, ähnlich einer SIM-Karte beim Handy. Die Karte muss also beim Lesen unbewegt sein.  


Schon allein an diesen beiden Unterschieden kann man (im Laden) sehen, welches der beiden Sicherheitsmerkmale benutzt wird. 


Es hängt also vom Lese-Gerät ab, was beim Bezahlen benutzt wird. 


  
Geldautomaten lesen (in Deutschland) beides aus, dort kann es zu Problemen bei Brüchen kommen. Meist wird die Karte dann vom Automat einbehalten, um Manipulationen vorzubeugen. Wenn das LAN-Kabel korrekt angeschlossen ist, dafür hat es ja extra einen Clip, hat man weiterhin minimalen Spielraum, dieses am Anschluss zu bewegen, das ist normal. An die volle Bandbreite kommt man meistens nicht, kann an der Auslastung der Leitungen oder im internen Netz, an Router-Einstellungen oder weiterem liegen, siehe Suchmaschine.