2012-11-20 169 views
1

我關注此RSS閱讀器TutorialRSS應用程序停止

所以剛開始我在這一行錯誤:

Uri uri = Uri.parse(links.get(position)); 

我得到了錯誤,我必須將它轉換爲這樣的字符串:之後,這是

Uri uri = Uri.parse((String) links.get(position)); 

可能運行該應用程序。 但是,如果我想要打開一個ListView元素,每次都會停止應用程序.... 有沒有人知道什麼是錯的?

,並在這裏的logcat:

11-20 19:25:19.027: E/AndroidRuntime(505): FATAL EXCEPTION: main 
11-20 19:25:19.027: E/AndroidRuntime(505): java.lang.IndexOutOfBoundsException: Invalid index 2, size is 0 
11-20 19:25:19.027: E/AndroidRuntime(505): at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:257) 
11-20 19:25:19.027: E/AndroidRuntime(505): at java.util.ArrayList.get(ArrayList.java:311) 
11-20 19:25:19.027: E/AndroidRuntime(505): at com.rss_reader.MainActivity.onListItemClick(MainActivity.java:111) 
11-20 19:25:19.027: E/AndroidRuntime(505): at android.app.ListActivity$2.onItemClick(ListActivity.java:319) 
11-20 19:25:19.027: E/AndroidRuntime(505): at android.widget.AdapterView.performItemClick(AdapterView.java:284) 
11-20 19:25:19.027: E/AndroidRuntime(505): at android.widget.ListView.performItemClick(ListView.java:3513) 
11-20 19:25:19.027: E/AndroidRuntime(505): at android.widget.AbsListView$PerformClick.run(AbsListView.java:1812) 
11-20 19:25:19.027: E/AndroidRuntime(505): at android.os.Handler.handleCallback(Handler.java:587) 
11-20 19:25:19.027: E/AndroidRuntime(505): at android.os.Handler.dispatchMessage(Handler.java:92) 
11-20 19:25:19.027: E/AndroidRuntime(505): at android.os.Looper.loop(Looper.java:123) 
11-20 19:25:19.027: E/AndroidRuntime(505): at android.app.ActivityThread.main(ActivityThread.java:3683) 
11-20 19:25:19.027: E/AndroidRuntime(505): at java.lang.reflect.Method.invokeNative(Native Method) 
11-20 19:25:19.027: E/AndroidRuntime(505): at java.lang.reflect.Method.invoke(Method.java:507) 
11-20 19:25:19.027: E/AndroidRuntime(505): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
11-20 19:25:19.027: E/AndroidRuntime(505): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
11-20 19:25:19.027: E/AndroidRuntime(505): at dalvik.system.NativeStart.main(Native Method) 

後,我閱讀說明,我認爲開放的我們也許是空的原因是:

拋出 NullPointerException - 如果uriString中是空

但爲什麼它的空?我不知道...

編輯:教程的鏈接是錯誤的...但現在我找到了正確的。

+1

安置自己的logcat的錯誤,所以我們可以看到發生了什麼。 'links'不是該教程的一部分...在您的問題中發佈相關代碼。 – Sam

+0

感謝您更新教程鏈接。你想讀什麼網址?它有鏈接數據嗎? – Sam

回答

0

您的罪魁禍首是在這裏:

com.rss_reader.MainActivity.onListItemClick(MainActivity.java:111) 

於線111,MainActivity.java的

編輯

那麼就意味着您在數據之外深遠,或者更準確地說

java.lang.IndexOutOfBoundsException: Invalid index 2, size is 0 

您的links是空的,而您嘗試獲取它的第三個元素,因此IndexOutOfBounds異常。檢查爲什麼links未正確初始化或執行一些其他檢查以確保您的position適合環境。

+0

那就是這一行: Uri uri = Uri.parse((String)links.get(position)); – user1657830

+0

nooo我得到了錯誤.... 我複製並貼上了這個如果else else(xpp.getName()。equalsIgnoreCase(「title」)){if(insideItem)links.add(xpp.nextText() ); //提取文章的鏈接}'忘記將「標題」改爲「鏈接」...現在它的工作.... ohhh sry的費用.... – user1657830

1

在logcat中的重要信息是:

java.lang.IndexOutOfBoundsException: Invalid index 2, size is 0 

這意味着你的links列表,然後:

at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:257) 
    at java.util.ArrayList.get(ArrayList.java:311) 
    at com.rss_reader.MainActivity.onListItemClick(MainActivity.java:111) 

你可以看到,您嘗試讀取值links(這不存在)在你的onListItemClick()方法在線111,這正如你所說的是:

Uri uri = Uri.parse((String) links.get(position)); 

必須將數據與links.add()在某些時候添加到您的links列表...

+0

'else if(xpp.getName() .equalsIgnoreCase( 「標題」)) \t \t \t \t \t { \t \t \t \t \t \t如果(insideItem) \t \t \t \t \t \t \t links.add(xpp.nextText()); //提取文章的鏈接 \t \t \t \t \t}' 多數民衆贊成在什麼應該添加到鏈接的地方....但顯然它不... – user1657830

+0

與更新的教程鏈接,我發現這個代碼,但您使用的是哪個網址? – Sam