example - Android-¿Cómo obtener posición en bindView como en getView?
cursoradapter vfp (3)
En getView()
de CursorAdapter
, hay una position
parámetro position
así que puedo verificar esa position
. ¿Cómo puedo hacer lo mismo en bindView()
No tiene ningún parámetro de position
en BindView
.
Actualmente estoy anulando newView()
, bindView()
y getView()
lo que leí y escuché es malo, ya sea anular getView()
O newView()
y getView()
.
Gracias.
La respuesta de codeboys es correcta, cursor.getPosition () servirá. Pero si alguien necesita una posición en el evento onClick del elemento de lista de elementos, por ejemplo, un icono dentro de listItem, la solución es colocar una posición como setTag en el icono y recuperarla cuando ocurra un evento:
@Override
public void bindView(View vw, Context ctx, final Cursor cursor) {
/* ...
* do your binding
*/
ImageView icon = (ImageView) vw.findViewById(R.id.your_icon);
icon.setTag(cursor.getPosition()); // here you set position on a tag
icon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// use a tag to get the right position
((MainActivity) context).onIconClick((int)v.getTag());
}
});
}
Prueba esto
public void bindView(View arg0, Context arg1, Cursor arg2)
{
int pos = arg2.getPosition();
}
@Override
public void bindView(View view, Context context, Cursor cursor) {
// TODO Auto-generated method stub
}
@Override
public View newView(Context context, Cursor cursor, ViewGroup view) {
// TODO Auto-generated method stub
int mCount = cursor.getCount();
//Returns Total count(Rows) in cursor
int currentPostion= cursor.getPosition();
//Returns the current position of the cursor in the row set
}