2011-02-12 75 views
1

我目前的應用程序有一個Activity,它是擴展ListActivity(當然是listview)的主要應用程序。 主要的Activity還擁有大部分的應用程序功能。Android:2種不同的視圖意味着2種不同的活動?

我想爲用戶添加一個選項以在2個視圖中進行選擇:當前listView和一個gridView。 我也想重用我的代碼 - 大多數函數都可以用於這兩個視圖。

之前,我問的實際問題,注意我的問題不是如何添加一個GridView - 它已經被添加和(註釋掉當所有列表視圖線)的偉大工程。

我的問題是 - 我該怎麼做?

  • 2個不同的意見意味着我必須有2個不同的活動?一個擴展了「ListActivity」,一個擴展了「Activity」?

  • 我應該建立4類(3個活動和功能類在這種情況下),其中主要活性將根據用戶選擇什麼呼叫其他活動?

  • 有沒有一種方法使用相同的主要活動的兩個視圖? (現在我擴展「ListActivity」以獲取「getListView()」,這會導致GridView在Activity查找ID爲「list」的ListView時強制關閉)。

  • 還有其他方法嗎?

謝謝!

回答

1

您可以使用ListView而不使用ListActivity。如果活動代碼的其餘部分與List和Grid表單類似,我會推薦這種方法。動態選擇您顯示哪一個,並根據需要定製您的適配器定義以基於交換機或if語句執行這兩個操作,而不是使用不同的活動。

+0

謝謝,設法得到它的工作,但不能使onListItemClick工作,所以我改成了公共無效onItemClickListener(適配器視圖父母,視圖V,INT POS,長ID){//代碼},但沒有奏效...不在ListView上,而不在GridView上。有任何想法嗎? – 2011-02-12 22:52:18

相關問題