recyclerview - ¿Cómo obtener un objeto de listview en setOnItemClickListener en Android?
recyclerview android (7)
¿Quieres conseguir los artículos y hacer qué con ellos?
Por ejemplo, puedes hacer un mensaje de Toast como este.
public void onItemClick(AdapterView<?> parent, View view,int position, long id)
{
Toast.makeText(getApplicationContext(), tweets[position], Toast.LENGTH_SHORT).show();
}
Espero que esto ayude.
He agregado arraylist en arrayadapter que contiene objetos, cada uno consta de dos elementos / elementos, he establecido correctamente ese adaptador para setListAdapter, ahora quiero obtener esos elementos en setOnItemClickListener de listview.
aqui esta mi codigo
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
}
});
Resolví este problema usando su adaptador que estaba configurado para ello.
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
}
});
Solo tenga en cuenta que el adaptador debe inicializarse y configurarse en ListView.
De esta manera, puede acceder a las propiedades del objeto que desea.
y si tiene la vista de lista lista con todos los datos y desea obtener el valor de un objeto, utilice:
ViewGroup row = (ViewGroup) listprod.getChildAt(0);
TextView tvTest = (TextView) row.findViewById(R.id.textnomprod);
Donde mi vista de lista es " listprod " y quiero obtener el valor en la posición 0 , donde textnomprod es mi objeto y estoy guardando en mi variable tvTest
getListView().getItemAtPosition(position)
devolverá un Object
en tu TweetListAdaptor
public void onItemClick(AdapterView<?> parent, View view,int position, long id){
something = tweets[position];
}
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
int color = parent.getAdapter().getItem(position);
}
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapter, View view, int position, long id) {
Windows clickedObject = adapter.get(position);
}
}
Considere en el ejemplo anterior,
- El objeto utilizado en la vista de lista se llama Windows ,
- el objeto del elemento pulsado en la vista de lista se llama clickedObject ,
- El arrailista utilizado se llama adaptador .
Además, asegúrese de prefijar su ArrayList con final .