2010-10-18 56 views
0

我有兩個不同的項目A & B.項目內部AI將項目B中的源代碼鏈接起來,因此項目A中的活動可以從項目B中啓動活動。我使用Eclipse伽利略。兩個不同項目R.java的衝突資源ID

問題是,當我想在活動B中編輯視圖的值時,來自兩個項目的資源ID在其中存在一些衝突。因此,當我在活動B中調用findViewById()時,我從活動A中獲得了一個視圖。

我已經在項目A中的AndroidManifest中聲明瞭活動B.我甚至嘗試啓動活動B作爲應用程序的入口點,但它沒有顯示任何內容。這就像findViewById試圖僅僅搜索項目A的視圖,儘管我已經正確指定了包名。

findViewById(com.my.company.projectB.R.id.someView); 

有沒有人對發生了什麼有什麼想法?我會很感激任何幫助。謝謝!

+0

你到底是想幹什麼? – 2010-10-18 15:26:37

+0

我想在活動B中編輯視圖的值。但是,當我嘗試使用findViewById獲取它時,由於衝突的ID,我從活動A中獲得了null或視圖。 – 2010-10-18 15:42:37

+0

這些ID只是數字。爲什麼這兩個單獨的項目?你可以(也應該)在同一個項目中有多個活動。 – Yuliy 2010-10-18 15:51:05

回答

1

我發現了這個問題。它位於項目A的清單文件中。我不應該在那裏聲明活動B.所以基本上說,爲了正確地從另一個應用程序(項目B)調用一個活動,需要做的事情:

1)。通過運行或調試來安裝應用程序B(當然!)。 2)。在自己的項目中正確聲明活動B的意圖過濾器。無需在項目中聲明它(這是我的錯誤所在)。 3)。使用意圖過濾器中指定的意圖啓動活動。

這裏發佈答案,以防萬一別人遇到同樣的問題,因爲我的:)