Dans mon application, j'ai un ListView
. Les données de chaque élément de la liste sont une instance de la classe SomeItem
. La liste a un ArrayAdapter
personnalisé qui a une vue personnalisée pour afficher différents champs de chaque élément et remplace la méthode getView()
. le squelette du code pour l'initialisation de la vue de la liste:Faites défiler un élément ListView particulier dans la vue
ListView listView = (ListView) foo.getViewById(R.id.listView);
ArrayAdapter<SomeItem> adapter = new ArrayAdapter<SomeItem>(activity, R.layout.listItemView, R.id.textView) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// Code to build the view with multiple child views
}
}
Supposons maintenant que j'ai une instance SomeItem
. Sa vue associée peut être ou ne pas être dans la partie du ListView
qui est affichée à l'écran. Si ce n'est pas le cas, comment puis-je obtenir le ListView
pour faire défiler cet élément en particulier?
La seule méthode quelque peu liée que j'ai trouvée est ListView#requestChildRectangleOnScreen()
, ce qui me demande de fournir une vue enfant que je n'ai pas. J'ai l'article pour l'adaptateur. Donc, je ne suis toujours pas sûr de savoir comment assembler cela. Des pointeurs?
La question n'est pas très claire. Pouvez-vous nous montrer quelque chose qui exprime votre demande sous une forme picturale? –
J'ai modifié la question. Est-ce plus clair maintenant? – user149408
Comment allez-vous déterminer quel élément doit être sur l'écran? Quelle est la logique que vous avez là? –