2011-11-05 79 views
0

我決定重做我的應用程序的主屏幕,所以我做的第一件事就是刪除特定的風景/肖像佈局,並使用更簡單的佈局。我也改變了一個GridView到一個ListView(我也改變了他們的ID)。問題在於,在對所有內容進行調整並嘗試之後,我嘗試使用更新的ListView時開始獲得NullPointerException得到錯誤的佈局

使用模擬器和hierarchyviewer之後,我奇蹟般地看到了這一點,即使在物理刪除它之後,它也在膨脹之前的佈局。因此,經過2個小時試圖弄清楚什麼樣的黑魔法正在發生,我決定從頭開始一個新的主屏幕,稱它爲welcomescreen(所以,沒有引用前面的活動或佈局)。我刪除了前一個,並且告訴AndroidManifest選擇了這個新的活動。

將應用程序安裝到我的手機後,就像魔術一樣,它加載了一個完全不同的(但仍然存在於我的佈局文件夾中)視圖。巧合的是,它在R文件中加載了剛好在我想要的佈局之上的佈局。

有沒有人碰巧看到並解決了這個奇怪的問題?提前致謝。

+1

我認爲你應該發佈一些代碼。你的描述很混亂。 –

+0

發佈一些代碼,併爲我們提供您正在獲取的異常的logcat。 –

+0

請記住,您無法多次清理您的項目;) – Tapirboy

回答

1

創建新字符串資源或刪除字符串資源後,經常會發生這種情況。我認爲ADT有一個偶爾會發生的錯誤,它沒有意識到你已經改變了資源的數量,所以在新資源或已刪除資源之後的所有內容都會將其ID偏移1。

去項目--->清潔...每次都給我修好。

另一個可能的問題是如果您更新佈局的ID,但忘記在其中一個配置(如layout-large或layout-land)中更新它們。編譯器不會抱怨這個,所以你必須仔細觀察它。

+0

令人驚歎!它像一個魅力。看起來預編譯的東西沒有很好的更新,不是嗎?對我來說,添加了一個以數字開頭的drawable。對於文件系統來說似乎沒有問題,但是當寫入R時(變量不能以數字開頭,所以不能正確創建)。所以在那個時候,Android顯示了不正確的drawable。無論如何,謝謝! – Korcholis