Spanish error al caputar el valor de un listview

Mariotapia

New Member
buenos dias, tengo el siguiente problema amigos y espero poder solucionarlo
tengo un listview que se carga con dos lineas, una base de datos sqlite, realizo la consulta, cargo el listview todo bien hasta ahi, el problema es cuando quiero capturar en una variable string el valor seleccionado del listview, capture el error que me da y es este

java.lang.RuntimeException: Field: First not found in: [Ljava.lang.String;
probe de dos formas

txt = listview1.getitem(posicion)
esto en el evento click por supuesto
y tambien proble con crear en el global un tipo con dos string algo asi (estos ejemplos los vi en el foro)

global
Type lista_doble (primero As String, Segundo As String )

luego en el click hago
dim valor as lista_doble
valor.inicialize
valor=value
txt=valor.primero
etc, etc

cuando hago click con la primera forma me salgo algo asi ya que coloque un log para ver los valores
[Ljava.lang.String;@3a2f8c8
o sea como que trae el valor ese @3a2f8c8
con la segunda forma me da el error que dije primero
por ahi pienso que tiene que ver con la base de datos o sea con el tipo de caracter que almacena en el parseo de los datos no los interprete o algo asi, por favor necesito solucinar esto, gracias....
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola Mariotapia:

Antes de nada, cuando pongas código, mejor que lo pongas haciendo un "Insert.." (boton arriba a la derecha) y luego "Code", de esa forma se entiende mucho mejor el código.

Hay varias cosas en tu código que te quiero comentar.

Una variable type no puede ser privada. El mejor sitio para declararla es en Process_Globals
Como la has declaro te va a funcionar, pero a la larga te dará problemas cuando quieras hacer depende de que tipo de cosas.



B4X:
Sub Process_Globals
  Type lista_doble (primero As String, Segundo As String )


Tu primer código:
B4X:
  txt = listview1.getitem(posicion)
Es correcto y no te debe dar ningun tipo de error

Pero el segundo está mal:
B4X:
dim valor as lista_doble
valor.Initialize ' es Initialize no inicialize, supongo que es un error al escribir aqui, pero aparte de esto la linea de abajo está mal
valor=value ' no puedes asignar asi en una variable Type , tiene que ser tambien otra Type, y value no lo es, y aqui te da el error

Te aconsejo que leas el manual B4A Beginners Guide que explica entre muchas cosas como se declara y se asignan las variables Type.
https://www.b4x.com/android/forum/threads/b4a-beginners-guide.9578/#content

Saludos
 

Mariotapia

New Member
Gracias muchachos ya lo solucione el tema es algo asi:
yo utilizo la libreria dbutils alli hay un procedimiento DBUtils.ExecuteListView
este llena un listview con los datos cuando veo el procedimiento
hay una variable Dim Table As List
lo que hice en el onclick declarar el mismo tipo de variable y listo
Quiero agradecer a toda la comunidad, en dos dias a full arme una app para un cliente, la verdad que fueron muy bien invertido tanto el tiempo como el dinero en esta hermosa herramienta, la aplicacion anda de maravilla, inclusive tiene una bd sqlite y la verdad es sorprendente lo que se puede hacer con basic4 android
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola

Nos alegramos que resolvieras el problema. Podrias añadir al título [SOLUCIONADO] de esa forma ayudas a agilizar la busqueda en el foro.

Gracias

Saludos
 
Top