2011-09-03 60 views
0

我想從文本文件讀取。在Java應用程序,這getResources/OpenRawSource導致運行時異常

BufferedReader f = new BufferedReader(new FileReader(filename)); 

作品,在Android中我試圖

BufferedReader f = new BufferedReader (new InputStreamReader(getResources().openRawResource(R.raw.autobahnnetz_gps))) ; 

其崩潰的應用程序。如果我在主要活動類中使用它,它可以正常工作。所以我想我必須通過上下文獲取資源

getApplicationContext().getResources 

但這也不管用。

我在這裏錯過了什麼?

+0

Hrmmm ...你有任何的logcat輸出或任何異常消息出來?你可以發佈你使用這段代碼的類嗎? –

+0

這是類:http://pastebin.com/KirDVRSe – FWeigl

+0

這是類:http://pastebin.com/KirDVRSe 該Logcat不給任何錯誤,這是我所得到的: ActivityThread.performLaunchActivity( ActivityThread $ ActivityClientRecord,意圖)線:1816 \t Ë\t NullPointerException異常(ID = 830007996248)\t \t原因\t NullPointerException異常(ID = 830007996248)\t \t detailMessage \t空\t \t stackState \t(id = 830007996280)\t \t stackTrace \t null – FWeigl

回答

1

雅這個問題是存在的,但我能找到一個解決辦法見this

+0

無法真正看到這是如何幫助,對不起。 – FWeigl

+0

我的意思是採取靜態活動變量(命名爲actVar)和onCreate()分配它act = this;現在當想要使用上下文寫這個yourActivity.actVar.this而不是getApplicationContext() –

+0

現在我明白了,它解決了它。非常感謝! – FWeigl