2011-12-09 36 views
0

我正在開發一個Android項目。在我的應用程序中,我有3個選項卡。由於我使用的活動有許多共同之處(如ListView),因此我使用如下繼承:enter image description here需要與繼承活動的選項卡上的幫助

列表a由我的SAXHandler生成,它在startDocument()中創建一個新列表。

我有一個測試用例,其中A_Activity中的列表有7個項目,而B_Activity有3個項目。當我的應用程序啓動時,點擊A_Activity中顯示的所有項目都沒有問題。點擊B_Activity並切換回A_Activity後,我也沒有任何問題點擊前3項;但是,如果我點擊第四個項目,我得到

java.lang.IndexOutOfBoundsException: Invalid index 3, size is 3 

如果我增加B_Activity項目數爲4,我與3相同的異常帶4.如此替換,我敢肯定,原因當我從B_Activity跳回到A_Activity時,A_Activity中的列表仍然指向B_Activity的列表。

您的建議將不勝感激。謝謝!

+0

將如何創建MyActivity的實例爲另一種活性 – Pratik

+0

由於PRATIK。我想你的意思是「如何*關於*」。這將是我的最後一個選擇。 – skwok

回答

0

您可以做簡單的事情,只需清除適配器數據並在每次切換活動時調用適配器類的notifyDataSetChanged。

+0

謝謝!這個提示對另一項任務有用。現在我的首要任務是找出爲什麼在運行測試用例之後,A_Activity中的一個已經被更改爲引用C_Activity中的一個。我基於SimpleAdapter編寫了自己的Adapter,並且該列表被聲明爲私有List **(非靜態)**。 – skwok

0

片被開始使用0,所以用0

tabhost.setCurrentTab(0)開始;

1指 - > 0 2指 - > 1 等