markfercho
New Member
Hola que tal a todos, tengo un proyecto el cual consiste en seleccionar los datos de un panel al momento de escoger cualquier opción de un spinner.
El detalle aqui es que tengo una clvLista(custom list view) y dentro de ella esta un panel, el cual contiene dentro una clv_exp_enbellecimientos(custom list view) que a su vez contiene un panel con varios campos, uno de ellos es un spinner, dejo una captura de pantalla para ver si puedo ayudar visualmente.
El cuadro marcado con rojo es clvLista.
Dentro de el tengo 2 paneles, al dar clic en pnlCardPF, estoy usando una libreria que me expande el panel seleccionado y me muestra pnlExpanded
Dentro de pnlExpanded tengo clv_exp_enbellecimientos en horizontal.
Al seleccionar del spinner me toma el valor del label "Pegado de Forro" y la cantidad seleccionada del spinner "2".
Y estos datos los agrego a una lista para despues generar un json y luego guardarlo en un label dentro de clvLista
El caso aqui es que necesito, poder seleccionar el spinner y obtener los datos del panel en el que se encuentra.
Hasta ahora he logrado hacerlo (adjunto mi codigo que me funciona), el detalle es que siempre me selecciona el primer panel ("Corte de Forro").
Mi pregunta es: ¿Cómo puedo hacer que al seleccionar el spinner(no importa la seleccion), pueda obtener los datos del panel en el cual se encuentra el spinner?
No entiendo por que no puedo seleccionar un clv dentro de otro clv como lo muestro en el siguiente código
Alguien que me pueda orientar o mejor aun tiene alguna otra forma de realizarlo se los agradeceria mucho!!
El detalle aqui es que tengo una clvLista(custom list view) y dentro de ella esta un panel, el cual contiene dentro una clv_exp_enbellecimientos(custom list view) que a su vez contiene un panel con varios campos, uno de ellos es un spinner, dejo una captura de pantalla para ver si puedo ayudar visualmente.
El cuadro marcado con rojo es clvLista.
Dentro de el tengo 2 paneles, al dar clic en pnlCardPF, estoy usando una libreria que me expande el panel seleccionado y me muestra pnlExpanded
Dentro de pnlExpanded tengo clv_exp_enbellecimientos en horizontal.
Al seleccionar del spinner me toma el valor del label "Pegado de Forro" y la cantidad seleccionada del spinner "2".
Y estos datos los agrego a una lista para despues generar un json y luego guardarlo en un label dentro de clvLista
El caso aqui es que necesito, poder seleccionar el spinner y obtener los datos del panel en el que se encuentra.
Hasta ahora he logrado hacerlo (adjunto mi codigo que me funciona), el detalle es que siempre me selecciona el primer panel ("Corte de Forro").
B4A:
Private Sub spnr_cant_subprocs_ItemClick (Position As Int, Value As Object)
Dim index As Int = clvLista.GetItemFromView(Sender)
' Dim idx As Int = clv_exp_enbellecimientos.GetItemFromView(Sender)
Dim pnl1 As B4XView = clv_exp_enbellecimientos.GetPanel(index)
Dim obtenerDato1 As String = pnl1.GetView(0).GetView(0).Text
pnl1.GetView(0).GetView(2).Text = Value
Dim MapaSubprocess2 As Map
MapaSubprocess2.Initialize
MapaSubprocess2.Put(obtenerDato1,Value)
Dim JSON As JSONGenerator
JSON.Initialize(MapaSubprocess2)
Dim jsonText2 As String
jsonText2 = JSON.ToString()
clvLista.GetPanel(index).GetView(0).GetView(14).Text = jsonText2
Log(clvLista.GetPanel(index).GetView(0).GetView(14).Text)
End Sub
Mi pregunta es: ¿Cómo puedo hacer que al seleccionar el spinner(no importa la seleccion), pueda obtener los datos del panel en el cual se encuentra el spinner?
No entiendo por que no puedo seleccionar un clv dentro de otro clv como lo muestro en el siguiente código
B4A:
Private Sub spnr_cant_subprocs_ItemClick (Position As Int, Value As Object)
Dim index As Int = clvLista.GetItemFromView(Sender)
Dim idx As Int = clv_exp_enbellecimientos.GetItemFromView(Sender)
Dim pnl1 As B4XView = clv_exp_enbellecimientos.GetPanel(idx)
Dim obtenerDato1 As String = pnl1.GetView(0).GetView(0).Text
pnl1.GetView(0).GetView(2).Text = Value
Dim MapaSubprocess2 As Map
MapaSubprocess2.Initialize
MapaSubprocess2.Put(obtenerDato1,Value)
Dim JSON As JSONGenerator
JSON.Initialize(MapaSubprocess2)
Dim jsonText2 As String
jsonText2 = JSON.ToString()
clvLista.GetPanel(index).GetView(0).GetView(14).Text = jsonText2
Log(clvLista.GetPanel(index).GetView(0).GetView(14).Text)
End Sub
Alguien que me pueda orientar o mejor aun tiene alguna otra forma de realizarlo se los agradeceria mucho!!