German For/Next, wenn Fehler, dann weiter in der Schleife

so27

Active Member
Licensed User
Longtime User
Guten Morgen zusammen,

ich habe beim Auflisten von installierten Apps in einem Listview auf manchen Geräten das Problem, dass beim Einlesen des App-Icons als Bitmap ein Fehler entsteht.

Mit dem Code fange ich den Fehler zwar ab, aber die Schleife ist damit auch unterbrochen. Wie kann ich es anstellen, dass nach einem solchen Fehler, dieser ignoriert und mit der Schleife weiter fortgefahren wird?

B4X:
Try
ListView1.clear
Dim pm As PackageManager
Dim Icons As BitmapDrawable
Dim Appname As String

Dim Obj1, Obj2, Obj3 As Reflector
Dim size, i, flags As Int
Dim msg, name As String
Obj1.Target = Obj1.GetContext
Obj1.Target = Obj1.RunMethod("getPackageManager") ' PackageManager
Obj1.Target = Obj1.RunMethod2("getInstalledPackages", 0, "java.lang.int") ' List<PackageInfo>
size = Obj1.RunMethod("size")

Dim mathe As Double
Dim PROBAR As Int
mathe= 100 / size ' 100 Prozent geteilt durch Anzahl der Apps
ProgressBar1.Enabled=True

For i = 0 To size -1
        If manager.GetBoolean("chkSchnell")=False Then Sleep(10)
    Obj2.Target = Obj1.RunMethod2("get", i, "java.lang.int") ' PackageInfo
    name = Obj2.GetField("packageName")
    Obj3.Target = Obj2.GetField("applicationInfo") ' ApplicationInfo       
     
      Icons = pm.GetApplicationIcon(name)
    Appname = pm.GetApplicationLabel (name)
   

    ImageView1.Bitmap=Icons.Bitmap
    Label2.Text= i & " von " & size
    Label3.Text= Appname
    ProgressBar1.Progress=i*mathe ' Verarbeitete App multipliziert mit Variable Double (Mathe)
    ListView1.AddTwoLinesAndBitmap2 ( Appname,name,Icons.Bitmap, name)
  Next



Catch
' Wenn ein Fehler auftritt, dann....
Return True


End Try
 

DonManfred

Expert
Licensed User
Longtime User
Wieso benutzt Du nicht den packagemanager?
 
Top