PDA

Ver la Versión Completa : [ CONSULTA ] [Novato] lugar donde desarrollar


Dild0
22/11/13, 19:58:00
Buenas tengo una pequeña duda la cual no se muy bien como atajar,

Estoy programando con fragments

Tengo:
Activity principal en la cual al pulsar sobre un NavigationDrawer pinto un fragment u otro.
Frangment con un listview (el cual cargo con un adapter personal)
Adapter


Bueno el tema esq tengo un layout para el listview con un par de botones.

Mi pregunta es ¿donde tengo q programar todos los eventos que realizan los botones?

Dentro del adapter?????

Me imagino que en el fragment lo único que programo es la llamada al mi adaptador para cargar el listview y dentro del adapter la logica de los botones y el funcionamiento y dependiendo de la posicion del list pues actuara de una manera u otra ..


igual me pasa si quiero asignar un boton dentro de cada listvew para q me desplieguen un menu contestual como en el play por cada tarjeta


registerForContextMenu(btn); esto no me iria


Ando un poco perdido

Gracias

kriogeN
22/11/13, 21:24:22
Si los botones van dentro de cada item del ListView, si, se programa dentro del Adapter en el getView. Si van fuera, se programan en el propio Fragment.

En cuanto al registerForContextMenu, en un principio si debería funcionarte, lo que ocurre es que sólo con la información del botón no vas a saber el "parámetro" para el menú. Tendrás que acompañarlo haciendo un setTag al botón en el getView.

Dild0
22/11/13, 21:52:53
Si los botones van dentro de cada item del ListView, si, se programa dentro del Adapter en el getView. Si van fuera, se programan en el propio Fragment.

En cuanto al registerForContextMenu, en un principio si debería funcionarte, lo que ocurre es que sólo con la información del botón no vas a saber el "parámetro" para el menú. Tendrás que acompañarlo haciendo un setTag al botón en el getView.

Vale, no me iba porq no le ponia el activity delante que paso por parametro al adapter...

Gracias por la aclaración ... ire probando y vere eso del setTag

Dild0
28/11/13, 10:28:27
He retomado esto y no hay manera.

public class Adap_lista_D extends BaseAdapter implements View.OnCreateContextMenuListener {




public View getView(final int position, View convertView, ViewGroup parent) {

Holder holder = new Holder(); //clase con varias declaraciones de botones textos que tiene mi adapter.

if (convertView == null) {
convertView = mLayoutInflater.inflate(R.layout.itemlista_datos, null);

holder.btn = (Button) convertView.findViewById(R.id.btn_m);
mLocal.registerForContextMenu(holder.btn); //mLocal es el activity que guardo al entrar al adapter
holder.btn.setOnCreateContextMenuListener(this);

convertView.setTag(holder);

} else {
holder = (Holder) convertView.getTag();
}

}


@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
// TODO Auto-generated method stub

menu.setHeaderTitle("Opción");
MenuInflater inflater = mLocal.getMenuInflater();
inflater.inflate(R.menu.menu_son, menu);

}




Nada no consigo que al pulsar el botón que hay por cada elemento de la lista funcione.

Dild0
28/11/13, 12:25:52
Solucionado poreque sin darme cuenta estaba machacando esto más abajo y claro no salía

mLocal.registerForContextMenu(holder.btn);