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

Respuesta
 
Herramientas
  #1  
Viejo 31/05/16, 12:17:26
Array

[xs_avatar]
gonza28 gonza28 no está en línea
Desarrollador
 
Fecha de registro: feb 2012
Localización: INTERESA?
Mensajes: 4,191
Modelo de smartphone: Samsung Galaxy Note 4
Tu operador: Personal
Necesito pasar los views del adapter a una actividad detalle.

Hola.
Bueno, les comento mi problema.
Hasta ahora venia utilizando ListView. y en el casi de necesitar base de datos, cosa que poco hice sobre eso a tal punto que aún estoy verde, pero en ese caso, lo hice con CursorAdapter.

Resulta que algunas animaciones muy lindas, no las puedo hacer con el ListView y eso me lleva a empezar de nuevo con el RecyclerView.

Mi problema despues de haber luchado y resuelto algunos problemas grandes con el Provider, ahora estoy en un serio problema que me tiene 2 dias en la lucha.

Alguien sería amable de darme una mano por favor? quier pasar los views del adapter a una actividad detalle y no puedo hasta ahora. Serian capas de mostrarme los metodos o incluso voy a dejar en un editor online mi adapter y actividad para que se vea aún mejor y completo.
Si alguien me da una mano, le estaré muy agradecido. Saludos y muchas gracias.

Este es mi adapter:
https://codeshare.io/IROdt

Actividad:
https://codeshare.io/AXALi

Actividad Detalles

https://codeshare.io/BNFlj

Última edición por gonza28 Día 02/06/16 a las 01:07:05.
Responder Con Cita


  #2  
Viejo 31/05/16, 15:29:19
Array

[xs_avatar]
mocelet mocelet no está en línea
Desarrollador
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -

No sé a qué te refieres con pasar los views del adapter a otra actividad. Las views pertenecen a la actividad donde estén, no se "pasan" entre actividades. Y el adapter sólo tiene sentido para poblar la lista o el recyclerview, fuera de ahí no lo usas porque no hay nada que adaptar.

Lo que tienes que hacer es pasar mediante un Intent los datos que le hagan falta a la nueva actividad para mostrarlos (o algún identificador para que obtenga los datos del modelo). Pero las vistas son las que cree esa actividad en su layout.
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
Responder Con Cita
Gracias de parte de:
  #3  
Viejo 31/05/16, 15:41:58
Array

[xs_avatar]
gonza28 gonza28 no está en línea
Desarrollador
 
Fecha de registro: feb 2012
Localización: INTERESA?
Mensajes: 4,191
Modelo de smartphone: Samsung Galaxy Note 4
Tu operador: Personal
 Cita: Originalmente Escrito por mocelet Ver Mensaje
No sé a qué te refieres con pasar los views del adapter a otra actividad. Las views pertenecen a la actividad donde estén, no se "pasan" entre actividades. Y el adapter sólo tiene sentido para poblar la lista o el recyclerview, fuera de ahí no lo usas porque no hay nada que adaptar.

Lo que tienes que hacer es pasar mediante un Intent los datos que le hagan falta a la nueva actividad para mostrarlos (o algún identificador para que obtenga los datos del modelo). Pero las vistas son las que cree esa actividad en su layout.
Tan solo quiero pasar los ítemes del adaptador. O sea un tipo OnItemClickListener. Solo que no me familiarizo con el recycler.

Claro, en la la lista hacer clic en un ítem y pasar todo contenido a otra actividad. Yo siempre lo hago desde un modelo, como veras, los datos los saco desde una base de datos y no es lo mismo al margen qué con un CursorAdapter es mucho más fácil. Pero el CursorAdapter es para un ListView. El recycler es más complicado según mi humilde criterio.

Lo que pretendo, no se si soy jodido de explicarme o que pasa. Pero pretendo hacer clic en un ítem y poder mostrar esos views (texto etc.) en una actividad preparada para los detalles. Nada más. Pero no me sale.

Enviado desde mi SM-N910U mediante Tapatalk
Responder Con Cita
  #4  
Viejo 31/05/16, 16:01:12
Array

[xs_avatar]
Dexafree Dexafree no está en línea
Mr. FAQMan
· Votos compra/venta: (1)
 
Fecha de registro: dic 2008
Mensajes: 8,021
Modelo de smartphone: Samsung Galaxy S i9000 + Galaxy Tab 10.1 WiFi
Tu operador: Movistar
No termino de entender si el problema es que en el RecyclerView no tienes el "onItemClickListener" como tal, si quieres pasar el contenido del item pulsado a la otra activity, o el CursorAdapter.

Creo que te lo comente en otro hilo, en caso de tener un Cursor puedes convertirlo a lista de items con un while, y de esa forma podrás trabajar con un Adapter normal, el cuál es más facilmente adaptable a un RecyclerView.
Si estas empezando con él, esta lib te puede resultar útil, implementa bastantes cosas de serie:
https://github.com/mikepenz/FastAdapter

Y para pasar el item a la otra Activity, como bien te ha dicho Mocelet solo tendrías que pasar como extra en el Intent una de estas dos cosas:
- El objeto del modelo (que implemente Parcelable)
- El id del objeto (si lo tienes en base de datos), y en la activity destino irlo a buscar al modelo de nuevo
Responder Con Cita
Gracias de parte de:
  #5  
Viejo 02/06/16, 00:54:01
Array

[xs_avatar]
gonza28 gonza28 no está en línea
Desarrollador
 
Fecha de registro: feb 2012
Localización: INTERESA?
Mensajes: 4,191
Modelo de smartphone: Samsung Galaxy Note 4
Tu operador: Personal
Compañeros. Resuelto!

Esta es la manera. quizás haya otras maneras seguramente las hay. Pero la mia fue así y ojalá sirva a alguien más. Y si alguien necesita mas detalles de como pasar los datos provenientes de una base de datos pregunta y le paso el codigo.

con esto enviamos los datos a la actividad detalles

https://codeshare.io/8td9v

Así recibimos los datos
https://codeshare.io/AXALi

Por las dudas dejo los fragmentos tambien.

[PHP] @override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext())
.inflate(R.layout.item_lista, parent, false);
final ViewHolder vh = new ViewHolder(v);

v.setOnClickListener(new View.OnClickListener() {
@override
public void onClick(View v) {
final int posicion = vh.getAdapterPosition();
if (posicion != RecyclerView.NO_POSITION) {
Log.d(TAG, "onClick() position with: " + posicion);
Log.d(TAG,"ID de la posicion actual:" + items.moveToPosition(posicion));
items.moveToPosition(posicion);

String id = items.getString((Consulta.ID));
String nombre = items.getString((Consulta.NOMBRE));

Intent e = new Intent(contexto, ActividadDetalle.class);
e.putExtra("id", id);
e.putExtra("nombre", nombre);

contexto.startActivity(e);

}
}

});
return vh;
}[/PHP]

[PHP]public class ActividadDetalle extends AppCompatActivity {

private static final String TAG = ActividadDetalle.class.getSimpleName();
private TextView hora, txFecha;

@override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detail);

nombre = (TextView) findViewById(R.id.textNombre);
txId = (TextView) findViewById(R.id.textId);
// Dehabilitar titulo de la actividad
if(getSupportActionBar()!=null)
getSupportActionBar().setDisplayShowTitleEnabled(f alse);



String nombre = getIntent().getStringExtra("nombre");
String id = getIntent().getStringExtra("id");


nombre.setText(nombre);
txId.setText(id);




}

}[/PHP]

Muchas gracias por la mano.
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android

Herramientas


Hora actual: 23:14:45 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /