Italian Come svuotare interamente un Activity?

Dominex

Active Member
Licensed User
Longtime User
Siccome non credo esista un unico comando per togliere tutti gli oggetti presenti su un Activity, ho fatto il seguente codice:

B4X:
Dim c As Long
For c = 0 To Activity.NumberOfViews - 1
  Activity.RemoveViewAt(c)
Next

In teoria dovrebbe funzionare, ma in realtà mi da il seguente errore:

An error has occurred in sub:
main_imvlivello_click (java line: 940)
java.lang.NullPointerException


Come mai mi da un errore un una cosa così semplice in apparenza?

Altra domanda, come posso sapere qual è l'indice di un determinato oggetto?
Ad esempio se ho l'oggetto imvEsempio, come faccio a sapere l'indice rispetto all'Activity?
 

Dominex

Active Member
Licensed User
Longtime User
Penso di aver trovato il modo per svuotare l'Activity:

B4X:
Sub SvuotaActivity
   Dim i As Int
   Dim v As View
   For i = Activity.NumberOfViews - 1 To 0 Step -1
   v = Activity.GetView(i) 
      If v.IsInitialized Then
         Activity.RemoveViewAt(i)
      End If
   Next
End Sub

Non ho ancora capito come individuare l'indice di un preciso oggetto.
 
Last edited:
D

Deleted member 103

Guest
Ciao Dominex,

senza aver provato, prova così:

B4X:
Dim c As Long
For c = 0 To Activity.NumberOfViews - 1
  Activity.RemoveViewAt(0)
Next


Ciao,
Filippo
 

Dominex

Active Member
Licensed User
Longtime User

Questo è stato esattamente il mio primo tentativo, ma non funziona.

Questo invece l'ho provato e funziona benissimo.
B4X:
Sub SvuotaActivity
    Dim i As Int
    Dim v As View
    For i = Activity.NumberOfViews - 1 To 0 Step -1
    v = Activity.GetView(i) 
        If v.IsInitialized Then
            Activity.RemoveViewAt(i)
        End If
    Next
End Sub

Ora il mio unico problema rimane capire come individuare un indice di uno specifico oggetto.
 
D

Deleted member 103

Guest
Questo è stato esattamente il mio primo tentativo, ma non funziona.
Non è esattamente come il tuo tentativo!
Il tuo codice è
B4X:
Activity.RemoveViewAt(c)
il mio invece è
B4X:
Activity.RemoveViewAt(0)

come vedi c'è una piccola differenza.
 

Dominex

Active Member
Licensed User
Longtime User

Hai ragione, non l'avevo notato, ti chiedo scusa per la svista.
La proverò così vediamo come si comporta.

AGGIORNAMENTO
Per ora si comporta benone, se si conferma tale è più ottimizzata della mia, grazie mille.
 
Last edited:
Cookies are required to use this site. You must accept them to continue using the site. Learn more…