Comment obtenir un ListView non défilable?
Je veux une non défilement ListView, et de montrer l'ensemble de la Liste. C'est parce que la totalité de mon écran est un ScrollView, et j'envoi les widgets avec un RelativeLayout, je n'ai pas besoin de la liste de défilement.
J'ai mis mon interface utilisateur avec code, pas avec xml.
J'ai utilisé listView.setScrollContainer(false)
mais il n'est pas du travail, je ne comprends pas pourquoi.
Grâce.
source d'informationauteur Istao
Vous devez vous connecter pour publier un commentaire.
Ne mets pas une listview dans un scrollview, il ne fonctionne pas. Si vous voulez une liste des éléments qui ne sont pas de défilement, il est appelé un linearlayout.
La bonne réponse est ici.
Suffit d'attribuer cet écouteur à votre
ListView
:J'ai trouvé une solution très simple pour cela. Juste obtenir la carte de la listview et calculer sa taille lorsque tous les éléments sont affichés.
L'avantage est que cette solution fonctionne également à l'intérieur d'un ScrollView.
Exemple:
Appeler cette fonction en passant au-dessus de votre ListView objet:
La fonction indiquée ci-dessus est une modification d'un poste en:
Désactiver le défilement dans la listview
Veuillez noter appeler cette fonction après avoir mis la carte à la liste. Si la taille des entrées de la carte a changé, vous devez appeler cette fonction en tant que bien.
Selon exactement ce que vous êtes en train de faire, vous pourriez être en mesure de résoudre votre problème par amerrissage forcé les
ScrollView
et au lieu d'utiliserListView
'saddHeaderView(Afficher)
etaddFooterView(Afficher)
.Je suis venu avec BaseAdapterUnscrollable. Fondamentalement, il ajoute simplement des vues de ViewGroup container. La mise en œuvre est un peu comme BaseAdapter. C'est assez pratique si vous utilisez un peu de non-défilement des listes de ce genre dans votre projet.
Dans onCreate:
Votre carte spécifique:
}
BaseAdapterNonScrollable (il suffit de copier):
}
Interfaces
pour désactiver le défilement vous pouvez utiliser
listview.setEnabled(false)
Cela désactive également les lignes sélectionnées.