Cómo implementar un oyente de clic largo y onclicklistener en listview único
Estoy creando una aplicación en android. En eso estoy usando la vista de lista. Ahora quiero usar el evento de clic y el evento de clic largo. Si es posible me puede ayudar a hacer.
- Android llama al método onClick sin hacer clic
- ¿Es posible escribir un bucle for para asignar a los oyentes a muchos botones con la misma función donde se utilizan los últimos?
- Cajón de navegación Elementos que no registran el evento de clic
- Android para detectar cuando se mantiene pulsado un botón
- efecto de clic de cuadrícula
- Evite que EditText consuma un evento de clic
- Android.os.FileUriExposedException: file.jpg expuesto más allá de la aplicación a través de ClipData.Item.getUri ()
- Ocultar / mostrar MenuItem en el clic de la barra de acción android
- En EditText, aparece un diálogo al hacer clic en un subconjunto específico de texto
- La vista inflada no captura el evento onClick
- ¿Una mejor manera de hacer clic en OnClick para los campos EditText?
- Android: El botón personalizado OnClickListener no se invoca
- Html onclick disparando dos veces en Android
mira esto
Haga clic y presione los oyentes de eventos en una ListActivity
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> av, View v, int pos, long id) { onListItemClick(v,pos,id); } });
..
lv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView<?> av, View v, int pos, long id) { return onLongListItemClick(v,pos,id); } });
Sólo tienes que devolver true
list.setOnItemLongClickListener(new OnItemLongClickListener() { @Override public boolean onItemLongClick(final AdapterView<?> p, View v,final int po, long id) { // your code return true; } });
Básicamente, le dice al sistema que se ha manejado el evento de prensa larga (el valor predeterminado es false
), y no es necesario manejar más eventos (es decir, una sola pulsación, lo cual ocurriría inadvertidamente en un evento de prensa largo)
Debe utilizar ListView.setOnItemClickListener
para un simple clic.
Para el clic largo, usted tiene una opción. Si desea realizar una sola acción, use ListView.setOnLongClickListener
. Si desea un menú contextual, registre la lista de un menú contextual, cree el menú y las acciones correspondientes.
registerForContextMenu(ListView); @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); // menu code here } } @Override public boolean onContextItemSelected(MenuItem item) { // menu habdling code here return super.onContextItemSelected(item); }
Utilice ListView.setOnItemClickListener (listener) y ListView.setOnItemLongClickListener (listener) http://developer.android.com/guide/topics/ui/layout/listview.html
Solo usa setOnItemClickListener()
y setOnItemLongClickListener()
en tu listview.
listView = (ListView) findViewById(R.id.listview); listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3){ } }); listView.setOnItemLongClickListener(new OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView<?> arg0, View arg1, final int position, long arg3) { } });
Utilice el código siguiente.
list.setOnItemClickListener(this); list.setOnItemLongClickListener(this);
Las definiciones de escuchas serán:
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub } public boolean onItemLongClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub return false; }
ItemToclick es la parte visible en la que haga clic en u quiere alguna acción
itemToClick.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //do your logic on click }); itemToClick.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { // do your logic for long click and remember to return it return true; }});
- ¿Cómo puedo extender el estilo de un botón?
- Necesita el registro de cambios de Google Play Services / Notas de la versión