Italian Problema con auto completed edittext

gdelvecchio

Member
Licensed User
Longtime User
Caio a tutti

Ho un'altro problema con l'ogetto auto completed edittext
Quando visualizzo una lista di elemento che contentgono la stessa decrizione, quindi una lista che hanno un indice diverso ma stessa descrizione.
Nella versione di Android 2.3.x al momento del click mi ritorna un errore del tipo:

B4X:
java.lang.IndexOutOfBoundsException: Invalid index 1, size is 1
   at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:257)
   at java.util.ArrayList.get(ArrayList.java:311)
   at android.widget.ArrayAdapter.getItem(ArrayAdapter.java:298)
   at anywheresoftware.b4a.objects.AutoCompleteEditTextWrapper$1.onItemClick(AutoCompleteEditTextWrapper.java:121)
   at android.widget.AutoCompleteTextView.performCompletion(AutoCompleteTextView.java:972)
   at android.widget.AutoCompleteTextView.access$1600(AutoCompleteTextView.java:94)
   at android.widget.AutoCompleteTextView$DropDownItemClickListener.onItemClick(AutoCompleteTextView.java:1518)
   at android.widget.AdapterView.performItemClick(AdapterView.java:284)
   at android.widget.ListView.performItemClick(ListView.java:3736)
   at android.widget.AbsListView$PerformClick.run(AbsListView.java:1968)
   at android.os.Handler.handleCallback(Handler.java:587)
   at android.os.Handler.dispatchMessage(Handler.java:92)
   at android.os.Looper.loop(Looper.java:130)
   at android.app.ActivityThread.main(ActivityThread.java:3687)
   at java.lang.reflect.Method.invokeNative(Native Method)
   at java.lang.reflect.Method.invoke(Method.java:507)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
   at dalvik.system.NativeStart.main(Native Method)

Cosa ne pensate?

Questo è il codice che utilizzo;

1 - Mentre scrivo nella ACET caarico la lista di oggetti:

B4X:
Sub Carica_ricambi_et(value As String)

   Dim Item As List
   Item.Initialize
   Item.Clear
   Dim cursore_ric_01 As Cursor
   cursore_ric_01 = Main.DB_APP.ExecQuery("SELECT * FROM IMP WHERE V_GEST = 'RIC ' AND CAMPO2 LIKE '" & value.Trim & "%' AND CHIAVE = '"&Home.ID_ODL.Trim&"'" )
   If cursore_ric_01.RowCount > 0 Then
   For I = 0 To cursore_ric_01.RowCount -1
      cursore_ric_01.Position = I
      Item.Add((cursore_ric_01.GetString("CAMPO2").Trim))
   Next
   acet_ricambi.SetItems(Item)
   cursore_ric_01.Close
   Else
   cursore_ric_01.Close
   End If
End Sub

al click della lista

B4X:
Sub acet_ricambi_ItemClick (Value As String)
   Try   
      Log(Value)
      Carica_ricambi_DA_ET(Value)
   Catch
      Log(LastException.Message)
      acet_ricambi.Text = ""
   End Try
End Sub

Come vi ho detto al click mi ritorna l'errore sopra citato.

:BangHead::BangHead:

Grazie a tutti!
 

gdelvecchio

Member
Licensed User
Longtime User
Sei un grande TIMO!

Ho spostato il set item nel ciclo e l'indice è andato a posto!

Grazie mille

Ciao
 
Top