TUTORIAL ANDROID - ListView, Implementar evento Item Click

  Рет қаралды 24,368

Elvis Alfaro

Elvis Alfaro

Күн бұрын

Пікірлер: 84
@alf2334
@alf2334 3 жыл бұрын
Gracias a ti voy a acabar la preparatoria
@musicmix450
@musicmix450 4 жыл бұрын
Hola buenas tardes una consulta , como puedo hacer que un boton cumpla la misma función del itemclick?
@ColombiaCreative
@ColombiaCreative 6 жыл бұрын
Hola como hago para que cuando le de a ese item... pueda actualizar sus campos.. y que al darle a un boton actualizar se actualize los datos que ingrese
@cristianmichaelespejel648
@cristianmichaelespejel648 2 жыл бұрын
me ayudo, excelente video
@javamell
@javamell 6 жыл бұрын
Puedo crear las listas en un activiy de un navitation draw
@djarchiflowlanuevaamenaza5945
@djarchiflowlanuevaamenaza5945 6 жыл бұрын
como puedo llamar un activity de un action bar tabs(with ViewPager) o no se puede?
@carlosoliva315
@carlosoliva315 4 жыл бұрын
Hola no se si respondas pero tengo un problema, yo estoy obteniendo mis 2 datos de una base de datos estoy obteniendo un id y una descripcion quiero ocultar la id pero almacenarla en la lista para que cuando le de clic poder obtener ese id sin tener que volver a consultar la bd
@crackzz8913
@crackzz8913 4 жыл бұрын
Pero no es necesario mostralarla para almacenarla. Se supone que en tu lista ya tienes guardada toda la data
@DARK00NEMESIS
@DARK00NEMESIS 6 жыл бұрын
bien video, bien explicado. Me ayudo gracias
@INDE-SOFT
@INDE-SOFT 5 жыл бұрын
Saludos como se podria poner un filtro a este lisview para realizar busquedas
@thewalrus7656
@thewalrus7656 5 жыл бұрын
te salió? yo he querido implementarlo pero siempre que ingreso texto en un searchview algo de mi listview y le doy clic a cualquier opcion que me de a lo escrito, siempre me devuelve el item de la posicion del listview original, no logro ver que valor agarrar para que reconozca ese item en específico, pareciera que se reiniciara el listview con las posiciones de mi busqueda :'(
@jeinermarin3414
@jeinermarin3414 4 жыл бұрын
lo has logrado?
@jeinermarin3414
@jeinermarin3414 4 жыл бұрын
Buenas tardes, excelente tutorial, podrías enseñar como ponerle filtro de búsqueda por favor?
@Mrmagoo-jd1kc
@Mrmagoo-jd1kc 4 жыл бұрын
si los datos del listview proceden de una base de datos sql como hago todo esto? o que cambios hay que hacer. solo quiero que el item que seleccione aparezca en un texview.
@elviis20
@elviis20 4 жыл бұрын
Cual es tu problema en si? Como obtener los datos de la bd? O como capturar el item de acuerdo a la posicion y mostrarlo en otro activity ?
@Mrmagoo-jd1kc
@Mrmagoo-jd1kc 4 жыл бұрын
@@elviis20 hola amigo yo quiero adaptar este ejercicio a una situación en donde los datos que están en cada uno de los items provienen de una base de datos SQL y quiero que al hacer click en un ítem, ese título que aparece en el ítem se copié a un textview
@Mrmagoo-jd1kc
@Mrmagoo-jd1kc 4 жыл бұрын
@@elviis20 es capturar el ítem y mostrar su información en un textview de otra activity
@elviis20
@elviis20 4 жыл бұрын
Primero debes tener un servicio web que te devuelva el listado de los items en formato json. Tengo un video de como usar retrofit para conectar el servicio web con tu app android, ahi hay un metodo que te devuelve un listado. Para este caso en el metodo success() seteas el listado y lo cargas al recyclerView.
@Mrmagoo-jd1kc
@Mrmagoo-jd1kc 4 жыл бұрын
@@elviis20 pero no está en un servicio web es esa en la misma app la base de datos. Hay alguna forma de mostrarte el proyecto, no se como en acceso remoto o algo para que pudieras verlo
@bryanpinzon8054
@bryanpinzon8054 6 жыл бұрын
Genial este video bro, me sirvió demasiado. ¡Muchas gracias!
@PRIMITIVE2050
@PRIMITIVE2050 5 жыл бұрын
Se agradece el contenido. Like!
@joselioy
@joselioy 4 жыл бұрын
buenas tardes elvis , logro compilar todo . pero cuando quiero hacer el evento clik no me funciona , ya revise todo pero no logro compilar esa parte de la aplicacion, desde ya gracias
@elviis20
@elviis20 4 жыл бұрын
No funciona con ninguna de las 2 formas que menciono en el video? - El primer metodo usando onItemClickListener() en el Activity. - El otro metodo usando onclickListener() en el adaptador. Los listener en cada metodo son diferentes
@joselioy
@joselioy 4 жыл бұрын
@@elviis20 gracias por contestar, lo solucione , tenia que llamarlo del manifest gracias por tu buen aporte , estaré atento a tus tutoriales.
@cristiancontreras9593
@cristiancontreras9593 5 жыл бұрын
SetOnItemClickListener no me devuelve ninguna posición del list view
@Siavichay7
@Siavichay7 6 жыл бұрын
Como hago para que una lista parecida a la tuya que contiene imagen y la descripcion que al dar click al evento me lleve a una activity diferente por cada evento al que le haga click. Por ejemplo: Tengo VOLUMEN 1, VOLUMEN2, volumen 3, digamos que doy click a volumen 1 y deseo hacer un menu ahi en una activity lo mismo quiero con volumen 2 pero con un menu diferente. Pienso que es con diferentes activity. Ayudame con eso por fa
@elviis20
@elviis20 6 жыл бұрын
Hola segun lo que dices, en el evento del click deberias validar la posicion por cada activity, por ejemplo: switch(position){ case 0: // abrir activity 1 break; case 1: // abrir activity 2 break; case 2: // abrir activity 3 break; } O si en tu lista manejas varios items con diferentes categorias, al hacer click en cada item podrias mostrar los activitys por la categortia de cada item, por ejemplo: switch(item.getCategoria()){ case 1: // abrir activity 1 break; case 2: // abrir activity 2 break; case 3: // abrir activity 3 break; } Espere que te sirva. Saludos
@Siavichay7
@Siavichay7 6 жыл бұрын
Elvis Alfaro muchas gracias👍, me sirvió de mucho el switch y tu video en como entender mejor el list view
@suryrosales3701
@suryrosales3701 5 жыл бұрын
Muy buen video, tengo una duda ¿Que debo hacer para guardar los datos que se muestran en la listview ?.
@elviis20
@elviis20 5 жыл бұрын
Hola. En este ejemplo definí los elementos de la lista mediante código. Pero puedes usar administradores de bases de datos para Android cómo sqlite o room. Saludos !
@Mrmagoo-jd1kc
@Mrmagoo-jd1kc 4 жыл бұрын
@@elviis20 como se hace eso, en ningún tuto aparece eso. te agradecería que pudieras ayudar.
@eduxmontivero
@eduxmontivero 6 жыл бұрын
Hola en caso de que quiero que envie otro parametro del array, como por ejemplo el nombre, como tengo que hacer. Te agradezco la ayuda!
@elviis20
@elviis20 6 жыл бұрын
Al enviar el objeto completo en el evento click, en el detalle puedes acceder a cualquier atributo del objeto. Solo invocas al método get() de vas a usar. Saludos
@eduxmontivero
@eduxmontivero 6 жыл бұрын
Muchas muchas muchas gracias!
@patrickalamo4574
@patrickalamo4574 7 жыл бұрын
Amigo buen tutorial, quisiera saber como puedo hacer lo mismo pero que del listview me mande a una ventana diferente y que no pase la informacion de la primera a la segunda. Gracias
@elviis20
@elviis20 7 жыл бұрын
Para abrir nuevas activitys se usa la clase Intent, asi como en el video. Simplemente le pones el nombre del activity que deseas abrir, no necesariamente tienes que enviarle datos(puedes no enviarle y simplemente lanzarlo con el metodo startActivity(intent)).
@patrickalamo4574
@patrickalamo4574 7 жыл бұрын
gracias amigo, una pregunta mas, como hago para poner la posicion, para que por ejemplo de la posicion uno me mande a una ventana nueva, y de la posicion 2 me mande a otra diferente, etc?
@elviis20
@elviis20 7 жыл бұрын
Podrias hacerlo con un switch(position){ case 0: // Crear y lanzar Intent break; case 1: // Crear y lanzar Intent break; ............. } tendrias que evaluar la posicion del itemClick
@patrickalamo4574
@patrickalamo4574 7 жыл бұрын
Muchas gracias amigo :)
@eduardofreiremora8745
@eduardofreiremora8745 5 жыл бұрын
Eres un capo... gracias
@solucionestecnologicas1210
@solucionestecnologicas1210 5 жыл бұрын
Amigo talves tiene un número para poderme comunicar con tigo el mio es para poder conversar in poco sobre una asesoría, y poder llegar a un acuerdo
@franks2610
@franks2610 7 жыл бұрын
Gracias por el aporte, me sirvio mucho, corre perfecto, solo si me puedes ayudar a decir como puedo extraer un item ya sea(titulo o descripcion) con el mismo evento onclick. gracias
@elviis20
@elviis20 7 жыл бұрын
En el evento click recibe la posicion en la cual diste click, para extraer ese elemento debes usar el arrayentidad.get(position), eso te devuelve el objeto con los atributos que se le asignaron(titulo, descripcion). Para acceder a cada atributo, usas los metodos get() que tambien se han definido.
@franks2610
@franks2610 7 жыл бұрын
gracias nuevamente por tu respuesta, me podrias dar un ejemplo, es que apenas estoy entendiendo el manejo de listas y esto me sirve para terminar un proyecto que estoy haciendo, gracias nuevamente.
@elviis20
@elviis20 7 жыл бұрын
// CREAMOS UN ARRAY QUE ALMACENA LOS ITEMS QUE SE MUESTRAN EN EL LISTVIEW private ArrayList arrayentidad; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // INSTANCIAMOS EL OBJETO LISTVIEW CON EL LISTVIEW CREADO EN EL DISEÑO XML lvItems = (ListView) findViewById(R.id.lvItems); // CARGAMOS EL ARRAY CON LOS ELEMENTOS ASIGNADOS EN EL METODO GetArrayItems() arrayentidad = GetArrayItems(); // CREAMOS EL ADAPTADOR adaptador = new Adaptador(this, arrayentidad); // ASIGNAMOS EL ADAPTADOR AL LISTVIEW lvItems.setAdapter(adaptador); // METODO ON CLICK lvItems.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override // EL PARAMETRO 'position' INDICA LA POSICION DEL LISTVIEW EN EL CUAL SE HIZO CLICK public void onItemClick(AdapterView parent, View view, int position, long id) { // OBTENEMOS EL OBJETO ASOCIADO ENTRE EL ARRAYLIST Y EL LISTVIEW MEDIANTE LA POSICION DEL CLICK Entidad entidad = arrayentidad.get(position); /* CON EL OBJETO entidad, PODEMOS ACCEDER A LOS ATRIBUTOS QUE LE HEMOS ASIGNADO A ESTE OBJETO, POR EJEMPLO (imgFoto, titulo, contenido) A TRAVES DE LOS METODOS GET() - getImgFoto(), getTitulo(), getContenido() */ Intent intent = new Intent(MainActivity.this, DetalleItem.class); intent.putExtra("objetoData", entidad); startActivity(intent); } }); } private ArrayList GetArrayItems(){ // INICIALIZAMOS EL ARRAYLIST Y CARGAMOS CON DATA ArrayList listItems = new ArrayList(); listItems.add(new Entidad(R.drawable.dbs_1, "SS BLUES", "Goku y Vegeta")); listItems.add(new Entidad(R.drawable.dbs_2, "SS BLUE Y SS ROSE", "Goku y Black")); listItems.add(new Entidad(R.drawable.dbs_3, "DB HEROES 1", "Personajes nuevos")); listItems.add(new Entidad(R.drawable.dbs_4, "DB HEROES 2", "Otros personajes, Majin Boo")); listItems.add(new Entidad(R.drawable.dbs_5, "VEGETA", "Sacrificio de Vegeta")); return listItems; }
@franks2610
@franks2610 7 жыл бұрын
gracias por explicarme, estoy atorado en esta parte, acabo de entender mas la funcion de cada parte, pero tengo este detalle, al querer extraer titulo de cada uno de los items no me deja solo pasa el primer valor, tit = (TextView) findViewById(R.id.tvtitulo); titu= tit.getText().toString(); al agregar la posicion me manda error, que el valor "position" es un entero, esto pasa cuando coloco lo siguiente: titu= tit.getText(position).toString(); la variable titu la declare como String, solo me falta esto para hacer funcionar mi aplicacion, bueno la idea que tengo para despues es extraer los datos de mysql con un JSONArray ya lo hice en otro proyecto, no se si de casualidad tienes un video con este mismo proyecto conectado a una BD en mysql, seria genial!!!. En realidad aqui esta lo que quiero hacer, solo necesito extraer el valor de cada item, ya sea titulo o la descripcion, pero en este codigo no lo he podido hacer, por eso es mi insitencia en tu proyecto, esta mas entendible cada parte y limpio, quiero migrar esto a tu ejemplo, este es mi codigo, talvez te pueda servir tambien. son 2 layout una tiene el listview y el otro tiene el diseño del item personalizado ImageButton boatras; private ListView lista; ArrayList titulo=new ArrayList(); ArrayList descripcion=new ArrayList(); ArrayList imagen=new ArrayList(); ArrayList fecha=new ArrayList(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_noticias); //boton imagen atras boatras = (ImageButton)findViewById(R.id.batras); boatras.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(noticias.this, iniciomenu.class); startActivity(intent); } }); //boton imagen atras lista=(ListView)findViewById(R.id.lista); descargaimagen(); } //inicio de carga de datos de servidor noticias private void descargaimagen() { titulo.clear(); descripcion.clear(); imagen.clear(); fecha.clear(); final ProgressDialog progressDialog=new ProgressDialog(noticias.this); progressDialog.setMessage("Cargando datos..."); progressDialog.show(); AsyncHttpClient client =new AsyncHttpClient(); client.get("midireccion.com.mx/app/...", new AsyncHttpResponseHandler() { @Override public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) { if (statusCode==200){ progressDialog.dismiss(); try { JSONArray jsonArray=new JSONArray(new String(responseBody)); for (int i=0;i
@luissebastianbastoalvarez3261
@luissebastianbastoalvarez3261 7 жыл бұрын
amigo tengo un problema a la hora de darle click a uno de los elementos del list view y pasar a su descripcion, por favor podrias ayudarme?
@elviis20
@elviis20 7 жыл бұрын
si, que problema ocurre ?
@luissebastianbastoalvarez3261
@luissebastianbastoalvarez3261 7 жыл бұрын
Amigo, al dar click a cualquier elemento de los list view para acceder a su descripcion, de inmediato me cierra la app
@elviis20
@elviis20 7 жыл бұрын
fijate en el logcat , cual es el error que te sale, tal vez un elemento null que no esta inicializado, puede ser (click en la pestaña inferior: Android Monitor)
@luissebastianbastoalvarez3261
@luissebastianbastoalvarez3261 7 жыл бұрын
amigo, me sale este error: E/HAL: load: id=gralloc != hmi->id=gralloc, y este warning W/art: Before Android 4.1, method int android.support.v7.widget.ListViewCompat.lookForSelectablePosition(int, boolean) would have incorrectly overridden the package-private method in android.widget.ListView, muchas gracias por la ayuda, la verdad no tengo idea de cual es el error :( y seguí todo al pie de la letra
@elviis20
@elviis20 7 жыл бұрын
Revisa en el XML que el objeto sea ListView y no este 'android.support.v7.widget.ListViewCompat' , ya que son 2 objetos diferentes...
@a.comprasfortaleza7826
@a.comprasfortaleza7826 6 жыл бұрын
Exelente Aporte Saludos....
@solucionestecnologicas1210
@solucionestecnologicas1210 5 жыл бұрын
un consejo, realice tal cuallospasos, me muestra los item, pero al momento de dar clic en el item me dise que la aplicacion se detuvo y cecierra
@elviis20
@elviis20 5 жыл бұрын
Cuando la app se detiene verifica en el log de Android studio, ahí se muestra el motivo y la línea donde se produce el crash
@solucionestecnologicas1210
@solucionestecnologicas1210 5 жыл бұрын
@@elviis20 no me sale ningun error, tal ves si no es mucho abuso me podrias ayudar revisando, el codigo , talves tengo algun error, estaria muy agradesido si me indicaras cual es mi error en el codigo
@elviis20
@elviis20 5 жыл бұрын
Ok está bien.. me envías tu código o lo subes a un repositorio?
@elviis20
@elviis20 5 жыл бұрын
Ok.. ya lo reviso :)
@solucionestecnologicas1210
@solucionestecnologicas1210 5 жыл бұрын
Gracias amigo, deberías dar un curso desde lo básico, y poner un pay pal para el curso, eres una gran ayuda
@esmeraldagonzalez6244
@esmeraldagonzalez6244 5 жыл бұрын
Hola, tengo un error, podrias ayudarme?
@elviis20
@elviis20 5 жыл бұрын
Hola, que tipo de error te sale?
@esmeraldagonzalez6244
@esmeraldagonzalez6244 5 жыл бұрын
@@elviis20 En cuanto le doy click a la lista para que envie a la otra activity, se cierra invoke virtual method on a null object reference cuando le doy click al error, me manda al setText
@elviis20
@elviis20 5 жыл бұрын
@@esmeraldagonzalez6244 asegúrate de inicializar los views de tu layout (findviewById()). Por el error que mencionas es porque creaste el view pero no lo has inicializado, por eso esta en null aun.
RecyclerView OnClickListener (Best practice way)
11:48
CodingWithMitch
Рет қаралды 292 М.
Как стать ДЕЙСТВИТЕЛЬНО хорошим программистом
7:35
Бинарный происк
Рет қаралды 154 М.
1% vs 100% #beatbox #tiktok
01:10
BeatboxJCOP
Рет қаралды 67 МЛН
Quando A Diferença De Altura É Muito Grande 😲😂
00:12
Mari Maria
Рет қаралды 45 МЛН
Сборник Новогодних Номеров 2024 - Уральские Пельмени
3:18:52
Уральские Пельмени
Рет қаралды 831 М.
Разбираю дизайн музыкальных сервисов - Яндекс музыка, Spotify, VK
15:31
mutim digital — дизайн и маркетинг
Рет қаралды 279 М.
CardView With ScrollView | Android Studio
11:13
Fichy
Рет қаралды 8 М.
Android Listview Onitemclick Example
22:45
Coding Demos
Рет қаралды 147 М.
Предел развития НЕЙРОСЕТЕЙ
18:53
Onigiri
Рет қаралды 164 М.
Tutorial Android - Crear ListView Personalizado
24:36
JE Tutoriales
Рет қаралды 79 М.
Android Studio - Entendiendo RecyclerView
42:38
Sociedad Androide
Рет қаралды 20 М.
Android Studio - Como crear un ListView
7:58
Sociedad Androide
Рет қаралды 27 М.
1% vs 100% #beatbox #tiktok
01:10
BeatboxJCOP
Рет қаралды 67 МЛН