¿Cómo puedo acceder a ListView desde el adaptador
Tengo un ListView
personalizado con mi propio adaptador. Estoy manejando el clic en un Button
en el elemento de mi ListView
, y quiero que el ListView
vuelva invisible en este clic.
No tengo ninguna idea cómo conseguir acceso al ListView
del adaptador.
- Obtener NullPointerException en ListView personalizado
- Cómo obtener id de la base de datos al hacer clic en el elemento listview en android
- Cómo limitar la visualización de los elementos de la lista en ListView por 10 y siguientes 10 después de hacer clic en el siguiente botón
- Android: Actualizar ListView en la primera actividad al regresar de la segunda actividad
- ListView con añadir y eliminar botones en cada fila en android
public class ScheduleArrayAdapter extends ArrayAdapter<ScheduleListItem> { /*...*/ @Override public View getView(int position, View convertView, ViewGroup parent) { View v = convertView; if (v == null) { LayoutInflater vi = (LayoutInflater)c.getSystemService(Context.LAYOUT_INFLATER_SERVICE); v = vi.inflate(id, null); } final ScheduleListItem o = items.get(position); if (o != null) { /*...*/ Button details=(Button)v.findViewById(R.id.btn_details); details.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //HOW TO MAKE (R.id.lv_schedule) TO BECOME INVISIBLE HERE? } }); } return v; } }
- ¿Cómo puedo agregar filas a un listview de forma asíncrona?
- Prohibir toques de interceptación de Listview mientras utiliza su Child MapView
- Android setMovementMethod en un TextView dentro de un ListView
- Resalte la imagen seleccionada en HorizantalListView en android y permanecerá seleccionada hasta que no se haga clic en otra imagen
- Android: casilla de verificación que se repite cada 10º en un listview
- ClassCastException no puede convertir LinearLayout $ LayoutParams a AbsListView $ LayoutParams al establecer ListView Header
- Arrastrar y soltar, ListView y las vistas de elementos que pierden el evento ACTION_DRAG_STARTED
- Cómo agregar un pie de página en ListView?
ViewGroup parent
tiene referencia al padre de la View
devuelta por getView()
, que en su caso es su lista personalizada.
@Override public View getView(int position, View convertView, final ViewGroup parent) { ... details.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { parent.setVisibility(View.INVISIBLE); // or View.GONE } }); ... return v; }
En lugar de esto, puede pasar la referencia de su Listview a través del constructor del adaptador y almacenarla en la variable Listview local. Puede utilizarlo para acceder a su método Listviews.
public ViewPackagesAdapter(Activity mActivity, ListView cmgListView) { this.mActivity = mActivity; this.mListView=cmgListView; }
Ahora acceda a ListView de la actividad a través de mListView.
En mi caso GridItemClickListner no funcionó por alguna razón. Tengo acceso al Gridview desde la clase Adapter usando este
public View getView(final int position, View convertView, ViewGroup parent) { convertView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ((ClockGridView) v.getParent()).performItemClick(v, position, v.getId()); (OR) ((ClockGridView)parent).performItemClick(v, position, v.getId()); } }); }
"ClockGridView" que extiende la clase "GridView".
- ¿Cómo pasar una ruta de acceso de archivo que está en la carpeta assets a File (String path)?
- Cargando el archivo html desde la carpeta local en la vista web