|
||
|
![]() |
![]() |
Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
![]() |
|
Herramientas |
#1
|
||||
|
||||
[Novato] lugar donde desarrollar
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
__________________
Prueba mis aplicaciones para android:
Signature Maker - Código en GitHub Pain Log - Código en GitHub Square attack Última edición por Dild0 Día 22/11/13 a las 20:09:19. |
|
#2
|
||||
|
||||
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. |
#3
|
||||
|
||||
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. ![]() Gracias por la aclaración ... ire probando y vere eso del setTag
__________________
Prueba mis aplicaciones para android:
Signature Maker - Código en GitHub Pain Log - Código en GitHub Square attack |
#4
|
||||
|
||||
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.
__________________
Prueba mis aplicaciones para android:
Signature Maker - Código en GitHub Pain Log - Código en GitHub Square attack |
#5
|
||||
|
||||
Solucionado poreque sin darme cuenta estaba machacando esto más abajo y claro no salía
![]() mLocal.registerForContextMenu(holder.btn);
![]()
__________________
Prueba mis aplicaciones para android:
Signature Maker - Código en GitHub Pain Log - Código en GitHub Square attack |
![]() |
![]() |
||||||
|