2014-05-07 106 views

回答

0

一種可能的方案是如下:

  1. 錨視圖的祖父母是由Adapter.getView()返回的視圖。在顯示PopupWindow作爲下拉列表時,將標誌存儲在祖父母的標籤中。還存儲對此gandparent的引用以及所選項目標識。
  2. Adapter.getView()中,當請求的項目標識等於選定的項目標識時,請使用PopupWindow.update()將彈出窗口附加到新視圖。從舊祖父母刪除標籤並更新祖父母引用。
  3. Adapter.getView()如果您得到convertView有標記標記,並且請求的項目標識與選定的項目標識不同,請使用PopupWindow.update()從祖父項中取消附加彈出窗口。設置祖父母爲null

這有點複雜,所以我還沒有嘗試過,但它應該工作,我寫在這裏以防萬一有人感興趣。

0

理想情況下,我認爲顯示PopupWindow不是正確的解決方案。

無論如何,如果你已經有了這個,列表滾動應該關閉PopupWindow,因爲保持它不合理,因爲你已經滾動了列表。

+0

我想在這種情況下發生的情況是,彈出窗口粘貼到正確的邊框,並且如果項目向後滾動,彈出窗口將重新錨定到該窗口。這是實際發生的事情,直到我的項目視圖得到回收。 –