![]() |
|
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 |
«
Tema Anterior
|
Siguiente tema
»
|
Herramientas |
#1
|
Apartado de favoritos?
Hola, he estado buscando pero no encuentro bien bien como hacerlo.. quiero hacer un apartado de favoritos en mi app que en la barra me salga la tipica estrellita para marcarla y luego en una actividad o fragment pueda ver todos los favoritos.. a ver si alguien puede pasarme alguna tutorial preferiblemente en espanyol y sino en ingles, no pasa nada.
Se que existe google pero no encuentro nada que explique bien... Gracias! |
|
#2
|
Bueno te explico como hice yo uno a mi manera:
-Primero en la lista de elementos a cada elemento le puse un rating var el cual solo muestra una estrella , el xml seria asi: Código:
<RatingBar android:id="@+id/ratingBar1" style="?android:attr/ratingBarStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:numStars="1" android:rating="0" android:stepSize="1" /> - Monte una base de datos para guardar mis favoritos con sqlitehelper y las diferentes funciones de manejo. -En el adapter de la lista de elementos seria asi: Código:
private class ViewHolder { ImageView image; TextView nombre; RatingBar rat; TextView time; TextView site; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder = null; holder = new ViewHolder(); if (convertView == null) { convertView = mInflater.inflate(R.layout.item, null); holder.image = (ImageView) convertView .findViewById(R.id.imageView1); holder.nombre = (TextView) convertView.findViewById(R.id.textView1); holder.rat = (RatingBar) convertView.findViewById(R.id.ratingBar1); holder.time = (TextView) convertView.findViewById(R.id.textView3); holder.site = (TextView) convertView.findViewById(R.id.textView2); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } try { xvideo rowItem = arr.get(position); FavoritosSqlite fav = new FavoritosSqlite(context, FavoritosSqlite.TABLENAME_X, null, 1); if(fav.GetExistFromName(rowItem.getname())) { rat=1; } holder.nombre.setText(rowItem.getname() + " "); holder.rat.setRating(rat); holder.time.setText(rowItem.gettime() + " "); holder.site.setText(rowItem.geturlVideo().substring(rowItem.geturlVideo().indexOf("www")+4, rowItem.geturlVideo().indexOf("com")+3) + " "); rat=0; imageLoader.displayImage(rowItem.geturlimg(), holder.image); } catch (Exception ex) { //ex.printStackTrace(); holder.nombre.setText("Undefined"); holder.rat.setRating(0); holder.time.setText("0:00"); } return convertView; } -En el onclick de cada rating según sea su rating 0 o 1 guarde en la bd favoritos los datos del item o si existen los elimine . http://developer.android.com/referen...eListener.html -En otra actividad muestra la lista de favoritos desde la base de datos . A groso modo este fue el tema que monte con el rating , espero te sirva de algo. Última edición por rafaxplayer Día 12/09/14 a las 08:11:34 |
#3
|
||||
|
||||
No creo que encuentres tutoriales dedicados a "Hacer apartados de favoritos", ya que es una simple implementación de una BD SQLite
Suena a un trabajo perfecto para una base de datos y un ListView Solo tienes que añadirlo al R.menu que estes utilizando en la Activity/Fragment, y si quieres una estrellita, Android trae la llena y la vacía Cita:
![]() Después, rafaxplayer, en ese código que has pasado, en cada iteración vuelves a generar un FavoritosSqlite No sería mejor crear uno y reutilizar siempre el mismo? |
#4
|
Si dexafren , lo tenia que haber instanciado en el constructor , luego lo arreglo , gracias
|
#5
|
Voy a probar como me habeis dicho. Muchas gracias!
|
Respuesta |
![]() |
||||||
|
«
Tema Anterior
|
Siguiente tema
»
|
|
Hora actual: 22:37:03 (GMT +2)
HTCMania: líderes desde el 2007