Autore Topic: Problema do while e metodi di String  (Letto 2287 volte)

Offline raimondo

  • Utente junior
  • **
  • Post: 130
  • Respect: 0
    • Mostra profilo
Problema do while e metodi di String
« il: 11 Dicembre 2011, 19:49:31 CET »
0
Ragazzi ho un problem a strano un un do while e nn so dove postare...e provo qua:
all'interno del do while qualsiasi metodo applicato a String name mi fa kiudere l'applicazione ma se lo invoco fuori funziona tutto....nn ho la più pallida idea di quale sia il problema...help please :'(

Codice (Java): [Seleziona]
Uri uri = CallLog.Calls.CONTENT_URI;
                String selection = CallLog.Calls.TYPE + " = ?";
                String selectionArgs[] = new String[]{String.valueOf(CallLog.Calls.MISSED_TYPE)};
           
                Cursor cursor = getContentResolver().query(uri, null, selection, selectionArgs, null);
                String name = new String() ;
               
                LinkedHashSet<String> set = new LinkedHashSet<String>();
               
                cursor.moveToLast();
                do{
                         name = cursor.getString(cursor.getColumnIndex(CallLog.Calls.CACHED_NAME));
       
                         if(!name.isEmpty())
                                set.add(name);
                }
            while(cursor.moveToPrevious());
Logcat:
Codice: [Seleziona]
12-11 19:38:36.176: ERROR/AndroidRuntime(442):     at java.lang.reflect.Method.invoke(Method.java:507)
12-11 19:38:36.176: ERROR/AndroidRuntime(442):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
12-11 19:38:36.176: ERROR/AndroidRuntime(442):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
12-11 19:38:36.176: ERROR/AndroidRuntime(442):     at dalvik.system.NativeStart.main(Native Method)
12-11 19:38:36.176: ERROR/AndroidRuntime(442): Caused by: java.lang.NullPointerException
12-11 19:38:36.176: ERROR/AndroidRuntime(442):     at android.contact.CallMissed.onCreate(CallMissed.java:46)
12-11 19:38:36.176: ERROR/AndroidRuntime(442):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
12-11 19:38:36.176: ERROR/AndroidRuntime(442):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1586)
12-11 19:38:36.176: ERROR/AndroidRuntime(442):     ... 18 more
12-11 19:44:21.316: ERROR/InputDispatcher(61): channel '4067eb88 it.anddev.dropdownmenu/it.anddev.dropdownmenu.DropDownActivity (server)' ~ Consumer closed input channel or an error occurred.  events=0x8
12-11 19:44:21.316: ERROR/InputDispatcher(61): channel '4067eb88 it.anddev.dropdownmenu/it.anddev.dropdownmenu.DropDownActivity (server)' ~ Channel is unrecoverably broken and will be disposed!

Offline teskio

  • Moderatore globale
  • Utente normale
  • *****
  • Post: 387
  • Respect: +118
    • Github
    • Google+
    • Mostra profilo
    • Skullab
  • Dispositivo Android:
    Cubot GT99 / SurfTab Ventos 10.1
  • Play Store ID:
    Skullab Software
  • Sistema operativo:
    windows 7 / ubuntu 12.04
Re:Problema do while e metodi di String
« Risposta #1 il: 11 Dicembre 2011, 20:08:23 CET »
0
Prova a mettere un Log dentro al ciclo do/while per capire se il NullPointerException viene generato subito o sull'ultimo recordset del cursor, poichè prima viene eseguito il blocco "do" e successivamente viene spostato il cursor...

Offline raimondo

  • Utente junior
  • **
  • Post: 130
  • Respect: 0
    • Mostra profilo
Re:Problema do while e metodi di String
« Risposta #2 il: 11 Dicembre 2011, 20:31:52 CET »
0
allora ho messo come ultima istruzione del do while Log.i("prova", name)
e questo e il ris del logcat:
Codice: [Seleziona]
12-11 20:30:05.645: INFO/AndroidRuntime(1273): NOTE: attach of thread 'Binder Thread #3' failed
12-11 20:30:05.725: INFO/ActivityManager(61): Start proc android.contact for activity android.contact/.ContactNotifyActivity: pid=1282 uid=10034 gids={}
12-11 20:30:06.795: INFO/ActivityManager(61): Displayed android.contact/.ContactNotifyActivity: +1s79ms
12-11 20:30:08.025: INFO/prova(1282): Raimondo Pastore
12-11 20:30:08.025: INFO/prova(1282): Raimondo Pastore
12-11 20:30:08.025: INFO/prova(1282): Antonio LA Rocca
12-11 20:30:08.025: INFO/prova(1282): Giuseppe Pastore
12-11 20:30:08.025: INFO/prova(1282): Giuseppe Pastore
12-11 20:30:08.035: INFO/prova(1282): Giuseppe Pastore
12-11 20:30:08.035: INFO/prova(1282): Giuseppe Pastore
12-11 20:30:08.035: INFO/prova(1282): Giuseppe Pastore
12-11 20:30:08.035: INFO/prova(1282): Giuseppe Pastore
12-11 20:30:08.035: INFO/prova(1282): Giuseppe Pastore
12-11 20:30:08.035: INFO/prova(1282): Giuseppe Pastore
12-11 20:30:08.045: INFO/prova(1282): Raimondo Pastore
12-11 20:30:08.045: WARN/dalvikvm(1282): threadid=1: thread exiting with uncaught exception (group=0x40015560)
12-11 20:30:08.055: ERROR/AndroidRuntime(1282): FATAL EXCEPTION: main
12-11 20:30:08.055: ERROR/AndroidRuntime(1282): java.lang.RuntimeException: Unable to start activity ComponentInfo{android.contact/android.contact.CallMissed}: java.lang.NullPointerException
12-11 20:30:08.055: ERROR/AndroidRuntime(1282):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1622)
12-11 20:30:08.055: ERROR/AndroidRuntime(1282):     at android.app.ActivityThread.startActivityNow(ActivityThread.java:1462)
12-11 20:30:08.055: ERROR/AndroidRuntime(1282):     at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:127)
12-11 20:30:08.055: ERROR/AndroidRuntime(1282):     at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:339)
12-11 20:30:08.055: ERROR/AndroidRuntime(1282):     at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:654)
12-11 20:30:08.055: ERROR/AndroidRuntime(1282):     at android.widget.TabHost.setCurrentTab(TabHost.java:326)
12-11 20:30:08.055: ERROR/AndroidRuntime(1282):     at android.widget.TabHost$2.onTabSelectionChanged(TabHost.java:132)
12-11 20:30:08.055: ERROR/AndroidRuntime(1282):     at android.widget.TabWidget$TabClickListener.onClick(TabWidget.java:456)
12-11 20:30:08.055: ERROR/AndroidRuntime(1282):     at android.view.View.performClick(View.java:2485)
12-11 20:30:08.055: ERROR/AndroidRuntime(1282):     at android.view.View$PerformClick.run(View.java:9080)
12-11 20:30:08.055: ERROR/AndroidRuntime(1282):     at android.os.Handler.handleCallback(Handler.java:587)
12-11 20:30:08.055: ERROR/AndroidRuntime(1282):     at android.os.Handler.dispatchMessage(Handler.java:92)
12-11 20:30:08.055: ERROR/AndroidRuntime(1282):     at android.os.Looper.loop(Looper.java:123)
12-11 20:30:08.055: ERROR/AndroidRuntime(1282):     at android.app.ActivityThread.main(ActivityThread.java:3647)
12-11 20:30:08.055: ERROR/AndroidRuntime(1282):     at java.lang.reflect.Method.invokeNative(Native Method)
12-11 20:30:08.055: ERROR/AndroidRuntime(1282):     at java.lang.reflect.Method.invoke(Method.java:507)
12-11 20:30:08.055: ERROR/AndroidRuntime(1282):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
12-11 20:30:08.055: ERROR/AndroidRuntime(1282):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
12-11 20:30:08.055: ERROR/AndroidRuntime(1282):     at dalvik.system.NativeStart.main(Native Method)
12-11 20:30:08.055: ERROR/AndroidRuntime(1282): Caused by: java.lang.NullPointerException
12-11 20:30:08.055: ERROR/AndroidRuntime(1282):     at android.contact.CallMissed.onCreate(CallMissed.java:48)
12-11 20:30:08.055: ERROR/AndroidRuntime(1282):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
12-11 20:30:08.055: ERROR/AndroidRuntime(1282):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1586)
12-11 20:30:08.055: ERROR/AndroidRuntime(1282):     ... 18 more
12-11 20:30:08.075: WARN/ActivityManager(61):   Force finishing activity android.contact/.ContactNotifyActivity
12-11 20:30:08.585: WARN/ActivityManager(61): Activity pause timeout for HistoryRecord{4061c450 android.contact/.ContactNotifyActivity}
12-11 20:30:19.715: WARN/ActivityManager(61): Activity destroy timeout for HistoryRecord{4061c450 android.contact/.ContactNotifyActivity}

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Problema do while e metodi di String
« Risposta #3 il: 11 Dicembre 2011, 21:03:14 CET »
0
Cosa ne dici di una cosa del genere?

Codice (Java): [Seleziona]
                cursor.moveToLast();
                do{
                         name = cursor.getString(cursor.getColumnIndex(CallLog.Calls.CACHED_NAME));
       
                         if(name != null && !name.isEmpty())
                                set.add(name);
                }
            while(cursor.moveToPrevious());

Offline raimondo

  • Utente junior
  • **
  • Post: 130
  • Respect: 0
    • Mostra profilo
Re:Problema do while e metodi di String
« Risposta #4 il: 11 Dicembre 2011, 21:08:18 CET »
0
ok grazie mille...alla fine avevo risolto anke in un altro modo mettendo set.remove(null);...ma cmq ti ringrazio.....ciao

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Problema do while e metodi di String
« Risposta #5 il: 11 Dicembre 2011, 21:48:45 CET »
0
ok grazie mille...alla fine avevo risolto anke in un altro modo mettendo set.remove(null);...ma cmq ti ringrazio.....ciao

E come direbbe un saggio.... programmazione alla chezzo di cane!  8-)