2012-01-01 102 views
1

我有一個ListView可以處於兩種狀態之一 - 查看和編輯。交換ListView項目視圖

在觀看狀態,所述的ListView應該使用一個視圖來呈現行 - 一個與非可編輯字段。

在編輯狀態下,它應該使用另一個視圖 - 一個帶有可編輯字段的視圖。

當ListView在狀態之間切換時,所有的其行應該使用該狀態的適當視圖。

如果用戶已經向下滾動列表中,他/她不應該失去自己的位置時,查看和編輯之間的ListView transitons。

我試過的解決方案之一涉及2個適配器。但是這樣做並不好,因爲無論何時在ListView上設置適配器,它都會使ListView彈出回到第一行。

非常感謝。

+1

我很抱歉,但仍然不清楚。你可以添加一個截圖或更好地描述你的屏幕,以便我們可以理解你的問題?我通過這樣做解決了我自己的許多問題。 – 2012-01-02 02:36:41

+0

我沒有屏幕截圖,但我在描述用例時又採用了另一種方法。 – 2012-01-02 07:40:40

+0

現在好多了,可以理解了。但爲什麼不能只使用一個getView成員方法將在可編輯和不可編輯字段之間切換的適配器? – 2012-01-02 07:51:47

回答

1

我以前做過這樣的事情。我在GalleryAdapter中有一組複雜的視圖,其中一個是包含EditText(可編輯位)和TextView(靜態部分)的ViewFlipper。 ViewFlipper右側有一個按鈕,當用戶按下該按鈕時,我會根據需要調用showNext()/showPrevious()以在可編輯視圖和可見視圖之間切換。

爲了澄清,我有一個擴展BaseAdapter的適配器,並且在我的getView()方法中,我將onClickListeners分配給將修改我即將返回的視圖中的對象的按鈕。

+0

這是在可編輯視圖和可見視圖之間切換一個「行」的好方法。我需要將所有行切換到可編輯或可見視圖。 – 2012-01-02 20:18:24

+1

@Julian,聽起來像你需要通過所有行上的循環來運行上述方法,每當有人切換任何行時。 – 2012-01-02 20:29:16

+0

@ Dr.Dredel因此,請保持對所有行視圖的引用,並在切換時循環顯示? – 2012-01-02 20:52:15