2011-09-28 7 views
0

다음은 ListActivity의 코드입니다.목록 활동 널 포인터 예외. 에뮬레이터 시작시 강제 닫기

 public class CornellRSS extends ListActivity { 
    private final static String rssUrl = "http://news.cornellcollege.edu/rss"; 
    RSSParser parser; 
    ArrayList<Message> messages; 
    private ProgressDialog pd; 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    //setContentView(R.layout.main); 
    messages = new ArrayList<Message>(); 
    parser = new RSSParser(rssUrl); 
    loadMessages(); 
    String[] titles = new String[messages.size()]; 
    this.setListAdapter(new ArrayAdapter<String>(this, 
      android.R.layout.simple_list_item_1, titles)); 
    ListView lv = getListView(); 
    lv.setTextFilterEnabled(true); 

    lv.setOnItemClickListener(new OnItemClickListener() { 
     public void onItemClick(AdapterView<?> parent, View view, 
      int position, long id) { 
     // When clicked, show a toast with the TextView text 
     String keyword = (String) ((TextView) view).getText(); 
     Message target = getMessage(keyword); 
     Bundle b = new Bundle(); 
     b.putString(RSSHandler.TITLE, target.getTitle()); 
     b.putString(RSSHandler.DESCRIPTION, target.getTitle()); 
     b.putString(RSSHandler.LINK, target.getTitle()); 
     b.putString(RSSHandler.PUB_DATE, target.getTitle()); 
     Intent intent = new Intent(view.getContext(), RSSFeed.class); 
     intent.putExtras(b); 
     startActivity(intent); 
     } 
    }); 

} 

null 포인터 예외가 계속 발생하여 솔루션을 찾을 수 없습니다. 어떤 도움이 필요합니까?

편집!

arraylist 메시지는 메소드로드 메시지에서 수정됩니다. 상단의 LogCat 메시지는 다음과 같습니다. "09-28 01 : 45 : 06.726 : ERROR/AndroidRuntime (755) : java.lang.NullPointerException"

전체 오류 : 09-28 01:45 : 06.726 : ERROR/AndroidRuntime (755) : 치명적인 예외 : main 09-28 01 : 45 : 06.726 : ERROR/AndroidRuntime (755) : java.lang.NullPointerException 09-28 01 : 45 : 06.726 : ERROR/AndroidRuntime (755) : 에서 android.widget.ArrayAdapter.createViewFromResource (ArrayAdapter.java:355) 09-28 01 : 45 : 06.726 : ERROR/AndroidRuntime (755) : 에서 android.widget.ArrayAdapter.getView (ArrayAdapter.java : 323) 09-28 01 : 45 : 06.726 : ERROR/AndroidRuntime (755) : 에서 android.widget.AbsListView.obtainView (AbsListView.java:1430) 09-28 01 : 45 : 06.726 : ERROR/AndroidRuntime 755) : 에서 android.widget.ListView.makeAndAddView (ListView.java:1745) 09-28 01 : 45 : 06.726 : ERROR/AndroidRuntime (755) : 에서 android.widget.ListView.fillDown (ListView.java : 670) 09-28 01 : 45 : 06.726 : ERROR/Androi dRuntime (755) : 에서 android.widget.ListView.fillFromTop (ListView.java:727) 09-28 01 : 45 : 06.726 : ERROR/AndroidRuntime (755) : 에서 android.widget.ListView.layoutChildren (ListView. java : 1598) 09-28 01 : 45 : 06.726 : ERROR/AndroidRuntime (755) : 에서 android.widget.AbsListView.onLayout (AbsListView.java:1260) 09-28 01 : 45 : 06.726 : ERROR/AndroidRuntime (755) : 에서 android.view.View.layout (View.java:7175) 09-28 01 : 45 : 06.726 : ERROR/AndroidRuntime (755) : 에서 android.widget.FrameLayout.onLayout (FrameLayout.java : 338) 09-28 01 : 45 : 06.726 : ERROR/AndroidRuntime (755) : 에서 android.view.View.layout (View.java:7175) 09-28 01 : 45 : 06.726 : ERROR/AndroidRuntime 755) : at android.widget.LinearLayout.setChildFrame (LinearLayout.java:1254) 09-28 01 : 45 : 06.726 : ERROR/AndroidRuntime (755) : 에서 android.widget.LinearLayout.layoutVertical (LinearLayout.java : 1130) 09-28 01 : 45 : 06.726 : ERROR/AndroidRuntime (755) : at android.widget.LinearLayo ut.onLayout (LinearLayout.java:1047) 09-28 01 : 45 : 06.726 : ERROR/AndroidRuntime (755) : 에서 android.view.View.layout (View.java:7175) 09-28 01:45 : 06.726 : ERROR/AndroidRuntime (755) : 에서 android.widget.FrameLayout.onLayout (FrameLayout.java:338) 09-28 01 : 45 : 06.726 : ERROR/AndroidRuntime (755) : 에서 android.view.View .layout (View.java:7175) 09-28 01 : 45 : 06.726 : ERROR/AndroidRuntime (755) : 에서 android.view.ViewRoot.performTraversals (ViewRoot.java:1140) 09-28 01:45 : 06.726 : ERROR/AndroidRuntime (755) : android.view.ViewRoot.handleMessage (ViewRoot.java:1859) 09-28 01 : 45 : 06.726 : ERROR/AndroidRuntime (755) : at android.os.Handler. dispatchMessage (Handler.java:99) 09-28 01 : 45 : 06.726 : ERROR/AndroidRuntime (755) : 에서 android.os.Looper.loop (Looper.java:123) 09-28 01 : 45 : 06.726 : ERROR/AndroidRuntime (755) : 에서 android.app.ActivityThread.main (ActivityThread.java:3683) 09-28 01 : 45 : 06.726 : ERROR/AndroidRuntime (755) : 에서 java.lang.reflect.Method.invokeNative (네이티브 메소드) 09-28 01 : 45 : 06.726 : ERROR/AndroidRuntime (755) : at java.lang.reflect.Method.invoke (Method.java:507) 09-28 01 : 45 : 06.726 : ERROR/AndroidRuntime (755) : 에서 com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:839) 09-28 01 : 45 : 06.726 : 오류/AndroidRuntime (755) : at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:597) 09-28 01 : 45 : 06.726 : ERROR/AndroidRuntime (755) : 에서 dalvik.system.NativeStart (41) 채널 : '4093eaf0 cc.rss/cc.rss.CornellRSS (server)'~ 소비자가 입력 채널을 닫았습니다. 또는 오류가 발생했습니다. 이벤트 = 0x8 09-28 01 : 45 : 08.636 : ERROR/InputDispatcher (72) : 채널 '4093eaf0 cc.rss/cc.rss.CornellRSS (서버)'채널이 로 복구 불가능하게 손상되어 삭제됩니다.

더 빨리 사용할 수 없게되어 죄송합니다.

+0

logcat을 게시하면 더 잘 도와 드릴 수 있습니다! – Raunak

+0

"rssUrl"이 (가) 클래스 변수 인 것으로 추측합니까? 나 또한 등의 키워드, 제목과 같은 다른 변수의 ... – blad

+0

, 당신 제목 문자열 배열은 비어있는 ArrayList를 를 초기화하는 후 크기 0 당신이 그것을 초기화 이후입니다! – Raunak

답변

0

. null 포인터는 아마도 ArrayAdapter가 당신의 타이틀에 접근하려고 시도하고 널 포인터를 찾았을 때 일어난 일일 것입니다. 그 그들을 작동하지 않는 경우

로그 캣 메시지와 질문을 업데이트하십시오.