Liste sans faire défiler sur Android
Je veux mettre listview pour afficher tous les articles sans défilement.
Ci-dessous est ma mise en page:
<LinearLayout
android:id="@+id/layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/tv1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Large Text"
android:textColor="@android:color/black"
android:textAppearance="?android:attr/textAppearanceLarge" />
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
<TextView
android:id="@+id/tv2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Large Text"
android:textColor="@android:color/black"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
Le linearlayout est appartenir à une scrollview.
Je tiens donc à définir la liste de tous les articles et de les faire défiler par la société mère de défilement.
Comment puis-je le faire?
- listview dans un scrollview?
- C'est mission impossible. Utiliser d'autres alternatives pour afficher les données fixes.
- ce n'est pas mission impossible, mais surtout, c'est une mauvaise pratique, regarde ma réponse ci-dessous
InformationsquelleAutor brian | 2013-09-04
Vous devez vous connecter pour publier un commentaire.
C'est la façon dont vous devriez mettre votre listview dans un scrollView, mais juste comme quelqu'un d'autre a répondu, vous ne devez jamais mettre un listview dans un scrollview, surtout si la liste contient un grand nombre d'éléments
Si la raison de cette exigence est similaire à ce dont j'avais besoin, la classe ci-dessous peut vous aider. C'est un remplacement
ListView
, on observe un adaptateur et de ses changements et réagit en conséquence, mais utilise à la main, et peupléeLinearLayout
sous le capot, en fait. Je suppose que j'ai trouvé ce code quelque part sur le net, mais je ne pouvais pas le localiser maintenant afin de la lier à elle.Mes besoins étaient d'utiliser les avantages d'un
ListView
, à savoir sa carte de la fonctionnalité, de très peu d'éléments (1 à 5) sur une page, avec peut-être plus que d'un seul de remplacementListView
sur un seul écran. Une fois affiché, les éléments eux-mêmes devenir une partie de la largeur de la page, de sorte qu'ils ne sont pas défilé séparément à l'intérieur de leur propreListView
, plutôt à la page dans son ensemble.Ne pas mettre listview à l'intérieur d'un scrollview.
http://developer.android.com/reference/android/widget/ScrollView.html
Citant docs
Vous ne devez jamais utiliser un ScrollView avec une ListView, parce que ListView prend soin de ses propres défilement vertical. Plus important encore, cela défaites, toutes les informations importantes optimisations dans la ListView pour traiter avec de grandes listes, car il efficacement les forces de la liste pour afficher la liste complète des éléments à remplir l'infini conteneur fourni par le ScrollView.
Vous pouvez ajouter votre textview est comme un en-tête et pied de page à la liste.
http://developer.android.com/reference/android/widget/ListView.html
Vérifier l'en-tête et pied de page des méthodes dans le lien ci-dessus
Vous pouvez avoir une relative mise en page ajouter textviews en haut et en bas. Par rapport à la textviews ont la listview entre le textview de
Je pense qu'il n'est pas possible. Si nous remplacer affichage de la liste de défilement comportement à l'aide des parents de mise en page de défilement,la vue liste ne fonctionne pas correctement.