2013-02-06 3 views
0

저는 Android 개발이 처음이므로 문제를 해결할 수 없습니다. 나는 두 가지 속성 이름과 URL을 빈 클래스라는 비디오를 만들 :일반 목록에 모델 클래스를 추가하면 오류가 발생합니다.

public class Video { 
    public String _name; 
    public String _Url; 

    public Video(String name, String Url) 
    { 
     _name = name; 
     _Url = Url; 
    } 
    public String getName() 
    { 
     return _name; 
    } 
    public String getUrl() 
    { 
     return _Url; 
    } 

} 

내가 목록에 비디오를 추가 할 때 다음 활동이 VideosListActivity를 호출에 오류가 발생되고있는 동영상을 추가하기위한 일반적인 목록을 가지고 :

public List<Video> ListResult; 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     //Update view 

     setContentView(R.layout.videos); 

     setTitle("VIDEOS"); 

     //--videos created here 
     Video NewVideo = new Video("video one","http://www.youtube.com/watch?v=cxLG2wtE7TM"); 

     ListResult.add(NewVideo); 

     Log.v("VideoList", "Opened list"); 

이 오류는 무엇을 발생합니다됩니다 :

02-06 13:10:05.660: E/AndroidRuntime(23432): FATAL EXCEPTION: main 
02-06 13:10:05.660: E/AndroidRuntime(23432): java.lang.RuntimeException: Unable to start activity ComponentInfo{uk.co.mosquitodigital.panic/uk.co.mosquitodigital.panic.VideoListActivity}: java.lang.NullPointerException 
02-06 13:10:05.660: E/AndroidRuntime(23432): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2225) 
02-06 13:10:05.660: E/AndroidRuntime(23432): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2260) 
02-06 13:10:05.660: E/AndroidRuntime(23432): at android.app.ActivityThread.access$600(ActivityThread.java:139) 
02-06 13:10:05.660: E/AndroidRuntime(23432): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1277) 
02-06 13:10:05.660: E/AndroidRuntime(23432): at android.os.Handler.dispatchMessage(Handler.java:99) 
02-06 13:10:05.660: E/AndroidRuntime(23432): at android.os.Looper.loop(Looper.java:156) 
02-06 13:10:05.660: E/AndroidRuntime(23432): at android.app.ActivityThread.main(ActivityThread.java:5045) 
02-06 13:10:05.660: E/AndroidRuntime(23432): at java.lang.reflect.Method.invokeNative(Native Method) 
02-06 13:10:05.660: E/AndroidRuntime(23432): at java.lang.reflect.Method.invoke(Method.java:511) 
02-06 13:10:05.660: E/AndroidRuntime(23432): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
02-06 13:10:05.660: E/AndroidRuntime(23432): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
02-06 13:10:05.660: E/AndroidRuntime(23432): at dalvik.system.NativeStart.main(Native Method) 
02-06 13:10:05.660: E/AndroidRuntime(23432): Caused by: java.lang.NullPointerException 
02-06 13:10:05.660: E/AndroidRuntime(23432): at uk.co.mosquitodigital.panic.VideoListActivity.onCreate(VideoListActivity.java:31) 
02-06 13:10:05.660: E/AndroidRuntime(23432): at android.app.Activity.performCreate(Activity.java:4543) 
02-06 13:10:05.660: E/AndroidRuntime(23432): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1071) 
02-06 13:10:05.660: E/AndroidRuntime(23432): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2181) 
02-06 13:10:05.660: E/AndroidRuntime(23432): ... 11 more 

답변

1

당신이 그것을에 요소를 추가하기 전에 ListResult 목록을 초기화해야합니다

public List<Video> ListResult; 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     //Update view 

     setContentView(R.layout.videos); 

     ListResult= new ArrayList<Video>(); //<< initialize List here 
+2

필드를 개인적으로 만들고 Java 명명 규칙을 준수하는 것이 이상적입니다. –

관련 문제