簡體   English   中英

列表活動空指針異常。 模擬器啟動時強制關閉

[英]List Activity Null Pointer Exception. Force Close on Emulator Start Up

這是我的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);
      }
    });

}

我不斷收到空指針異常,找不到解決方案。 有什么幫助嗎?

編輯!

在方法加載消息中修改了arraylist消息。 頂部的LogCat消息只是:“ 09-28 01:45:06.726:ERROR / AndroidRuntime(755):java.lang.NullPointerException”

完整的錯誤是:09-28 01:45:06.726:錯誤/ AndroidRuntime(755):致命異常:主09-28 01:45:06.726:錯誤/ 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:錯誤/ AndroidRuntime(755):位於android.widget.AbsListView.obtainView(AbsListView.java:1430)09-28 01:45:06.726:錯誤/ 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 / AndroidRuntime(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):at android.view.View.layout(View.java:7175)09-28 01:45:06.726:錯誤/ AndroidRuntime(755):位於android.widget.FrameLayout.onLayout(FrameLayout.java:338)09-28 01:45:06.726:錯誤/ AndroidRuntime(755):位於android.view.View.layout(View.java :7175)09-28 01:45:06.726:ERROR / AndroidRuntime(755):位於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):在android.widget.LinearLayout.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:錯誤/ AndroidRuntime(755):位於android.view.View.layout(View.java:7175)09-28 01:45:06.726:錯誤/安德羅伊 dRuntime(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):在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:錯誤/ AndroidRuntime(755):位於android.app.ActivityThread.main(ActivityThread.java:3683)09-28 01:45 :06.726:ERROR / AndroidRuntime(755):at 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):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:839)09-28 01:45 :06.726:ERROR / AndroidRuntime(755):位於com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)09-28 01:45:06.726:ERROR / AndroidRuntime(755):位於dalvik.system。 NativeSta rt.main(本機方法)09-28 01:45:08.624:ERROR / InputDispatcher(72):通道'4093eaf0 cc.rss / cc.rss.CornellRSS(服務器)'〜使用者關閉輸入通道或發生錯誤。 events = 0x8 09-28 01:45:08.636:ERROR / InputDispatcher(72):通道'4093eaf0 cc.rss / cc.rss.CornellRSS(服務器)'〜通道已損壞且無法恢復!

抱歉,無法盡快提供此功能。

String[] titles = new String[messages.size()]; 您實際上需要在標題上添加一些值。 當ArrayAdapter嘗試訪問您的標題而只是找到一個空指針時,可能會發生空指針。

如果這不起作用,請使用logcat消息更新您的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM