Android ArrayAdapter

Status
Niet open voor verdere reacties.

Tijme

Gebruiker
Lid geworden
29 jan 2009
Berichten
535
Hoi Mensen,

Ik heb een vraagje over java / android in Eclipse. Dit is mijn eerste java project, dus ik heb er nog niet heel erg veel verstand van.
Ik krijg als ik mijn app opstart de error dat hij meteen weer 'gestopt' is.

Volgens mij heeft het iets met de arrayAdapter te maken, maar ik kom er zelf niet achter. Ik hoop dat jullie kunnen helpen.

Dit is mijn class:
Code:
package com.sleaze;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

import android.app.ListActivity;
import android.os.Environment;
import android.util.Log;
import android.widget.ArrayAdapter;

public class listFill extends ListActivity {
	
	public static final String SD_CARD = Environment.getExternalStorageDirectory().getPath();;
	public static List<String> songs = new ArrayList<String>();

    public void updatePlaylist() {
		File home = new File(SD_CARD);
		if(home.listFiles(new Mp3Filter()).length > 0){
			for(File file : home.listFiles(new Mp3Filter())){
				songs.add(file.getName());
			
			}
			ArrayAdapter<String> songList = new ArrayAdapter<String>(this,R.layout.all_songs_item, songs);
			setListAdapter(songList);
		}
		
	}
	
}


En dit is mijn log van LogCat:

Code:
06-16 17:32:21.982: D/dalvikvm(18232): Trying to load lib libnativehelper.so 0x0
06-16 17:32:21.982: D/dalvikvm(18232): Added shared lib libnativehelper.so 0x0
06-16 17:32:22.112: D/AndroidRuntime(18232): Calling main entry com.android.commands.am.Am
06-16 17:32:22.112: D/dalvikvm(18232): Note: class Landroid/app/ActivityManagerNative; has 157 unimplemented (abstract) methods
06-16 17:32:22.122: I/ActivityManager(585): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.sleaze/.MainActivity} from pid 18232
06-16 17:32:22.172: D/AndroidRuntime(18232): Shutting down VM
06-16 17:32:22.172: D/dalvikvm(18232): GC_CONCURRENT freed 96K, 17% free 509K/608K, paused 0ms+0ms, total 2ms
06-16 17:32:22.182: D/jdwp(18232): Got wake-up signal, bailing out of select
06-16 17:32:22.182: D/dalvikvm(18232): Debugger has detached; object registry had 1 entries
06-16 17:32:22.182: D/dalvikvm(18246): Late-enabling CheckJNI
06-16 17:32:22.182: I/ActivityManager(585): Start proc com.sleaze for activity com.sleaze/.MainActivity: pid=18246 uid=10076 gids={50076, 1028}
06-16 17:32:22.292: D/skia(18246): new locale nl-Latn-NL
06-16 17:32:22.302: D/overlay(160): Unset pipe=VG0 dpy=0; Unset pipe=VG1 dpy=0; Unset pipe=RGB1 dpy=0; 
06-16 17:32:22.342: D/AndroidRuntime(18246): Shutting down VM
06-16 17:32:22.342: W/dalvikvm(18246): threadid=1: thread exiting with uncaught exception (group=0x40f6f930)
06-16 17:32:22.342: E/AndroidRuntime(18246): FATAL EXCEPTION: main
06-16 17:32:22.342: E/AndroidRuntime(18246): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.sleaze/com.sleaze.MainActivity}: java.lang.NullPointerException
06-16 17:32:22.342: E/AndroidRuntime(18246): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2308)
06-16 17:32:22.342: E/AndroidRuntime(18246): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2358)
06-16 17:32:22.342: E/AndroidRuntime(18246): 	at android.app.ActivityThread.access$600(ActivityThread.java:153)
06-16 17:32:22.342: E/AndroidRuntime(18246): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1247)
06-16 17:32:22.342: E/AndroidRuntime(18246): 	at android.os.Handler.dispatchMessage(Handler.java:99)
06-16 17:32:22.342: E/AndroidRuntime(18246): 	at android.os.Looper.loop(Looper.java:137)
06-16 17:32:22.342: E/AndroidRuntime(18246): 	at android.app.ActivityThread.main(ActivityThread.java:5227)
06-16 17:32:22.342: E/AndroidRuntime(18246): 	at java.lang.reflect.Method.invokeNative(Native Method)
06-16 17:32:22.342: E/AndroidRuntime(18246): 	at java.lang.reflect.Method.invoke(Method.java:511)
06-16 17:32:22.342: E/AndroidRuntime(18246): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
06-16 17:32:22.342: E/AndroidRuntime(18246): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
06-16 17:32:22.342: E/AndroidRuntime(18246): 	at dalvik.system.NativeStart.main(Native Method)
06-16 17:32:22.342: E/AndroidRuntime(18246): Caused by: java.lang.NullPointerException
06-16 17:32:22.342: E/AndroidRuntime(18246): 	at android.app.Activity.findViewById(Activity.java:1839)
06-16 17:32:22.342: E/AndroidRuntime(18246): 	at com.sleaze.listFill.updatePlaylist(listFill.java:35)
06-16 17:32:22.342: E/AndroidRuntime(18246): 	at com.sleaze.listFill.onCreate(listFill.java:24)
06-16 17:32:22.342: E/AndroidRuntime(18246): 	at com.sleaze.MainActivity.onCreate(MainActivity.java:57)
06-16 17:32:22.342: E/AndroidRuntime(18246): 	at android.app.Activity.performCreate(Activity.java:5104)
06-16 17:32:22.342: E/AndroidRuntime(18246): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
06-16 17:32:22.342: E/AndroidRuntime(18246): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2262)
06-16 17:32:22.342: E/AndroidRuntime(18246): 	... 11 more
06-16 17:32:22.342: W/ActivityManager(585):   Force finishing activity com.sleaze/.MainActivity
06-16 17:32:22.633: D/overlay(160): Set pipe=RGB1 dpy=0; Set pipe=VG0 dpy=0; Set pipe=VG1 dpy=0; 
06-16 17:32:22.653: D/overlay(160): Unset pipe=VG0 dpy=0; Unset pipe=VG1 dpy=0; Unset pipe=RGB1 dpy=0; 
06-16 17:32:22.873: W/ActivityManager(585): Activity pause timeout for ActivityRecord{412549f0 u0 com.sleaze/.MainActivity}
06-16 17:32:23.974: I/Process(18246): Sending signal. PID: 18246 SIG: 9
06-16 17:32:23.984: I/ActivityManager(585): Process com.sleaze (pid 18246) has died.
06-16 17:32:23.994: W/InputMethodManagerService(585): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@41410dc0 attribute=null, token = android.os.BinderProxy@41832760
06-16 17:32:24.234: D/overlay(160): Set pipe=RGB1 dpy=0; Set pipe=VG0 dpy=0; Set pipe=VG1 dpy=0; 
06-16 17:32:25.586: I/PowerManagerService(585): Going to sleep by user request...
06-16 17:32:25.696: D/overlay(160): Unset pipe=VG0 dpy=0; Unset pipe=VG1 dpy=0; Unset pipe=RGB1 dpy=0;
 
Als je de error goed leest zie je deze regel:
Caused by: java.lang.NullPointerException
06-16 17:32:22.342: E/AndroidRuntime(18246): at android.app.Activity.findViewById(Activity.java:1839)

Er is een nullpointer bij de methode findViewById ontstaan. Dit betekent dat je programma het bepaalde view niet kan vinden in je xml-bestanden (deze methode maakt View objecten m.b.v. informatie uit je xml-bestanden). Ik doel dus op dit bestand: R.layout.all_songs_item

Even een algemene tip. Voordat je met android bezig gaat, leer alsjeblieft basis Java. Het zal je heel veel onduidelijkheid besparen. De meeste mensen willen direct resultaat, duiken daarom in android en stoppen na een paar weken, omdat ze het niet meer zien zitten. Indien je een grondige java-basis hebt is deze stap makkelijker gemaakt. Ik zeg niet dat het niet kan, ik vertel je alleen wat ik vaak zie.

Groet,
NewbiProgrammer
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan