J'ai ajouté arraylist dans arrayadapter qui contient des objets composés chacun de deux éléments/éléments, j'ai réussi à définir cet adaptateur pour setListAdapter, maintenant je veux obtenir ces éléments dans setOnItemClickListener de listview.
voici mon code
TweetListAdaptor adaptor = new TweetListAdaptor(this,R.layout.list_item, tweets);
setListAdapter(adaptor);
ListView lv = getListView();
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> parent, View view,int position, long id)
{
//here i want to get the items
}
});
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
int color = parent.getAdapter().getItem(position);
}
public void onItemClick(AdapterView<?> parent, View view,int position, long id){
something = tweets[position];
}
Vous voulez obtenir les objets et faire quoi avec eux?
Par exemple, vous pouvez créer un message Toast comme celui-ci.
public void onItemClick(AdapterView<?> parent, View view,int position, long id)
{
Toast.makeText(getApplicationContext(), tweets[position], Toast.LENGTH_SHORT).show();
}
J'espère que cela t'aides.
et si vous avez la liste avec toutes les données et que vous voulez obtenir une valeur d'objet, utilisez uniquement:
ViewGroup row = (ViewGroup) listprod.getChildAt(0);
TextView tvTest = (TextView) row.findViewById(R.id.textnomprod);
Où ma liste est " listprod " et je veux obtenir la valeur dans la position 0 , où textnomprod est mon objet et je sauvegarde dans ma variable tvTest
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapter, View view, int position, long id) {
Windows clickedObject = adapter.get(position);
}
}
Considérons dans l'exemple ci-dessus,
Assurez-vous également de préfixer votre ArrayList avec final .
J'ai résolu ce problème en utilisant l'adaptateur qui lui était attribué.
TweetListAdaptor adaptor = new TweetListAdaptor(this,R.layout.list_item, tweets);
setListAdapter(adaptor);
ListView lv = getListView();
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> parent, View view,int position, long id)
{
//here i want to get the items
adaptor.getItem(position); // this is your object
}
});
Gardez simplement à l'esprit que l'adaptateur doit être initialisé et défini sur ListView.
De cette manière, vous pouvez accéder aux propriétés de l'objet souhaité.