2014-09-10 39 views
1

我想知道現在如何以最好和最可重用的方式實現以下功能。Android ListView最後點擊的項目作爲第一

磨片,然後用戶在ListView點擊一個項目,他去DetailsActivity,但是當他回來ListActivity項目是他點擊顯示爲首先在list之前。

我想知道是否應該在listviewadapter中實施某種排序。哪種方式最具可重用性和通用性,例如。點擊項目被排除?

+0

你能不能更具說服力,你想讓你的點擊項目成爲第一個還是不是? – 2014-09-10 09:17:57

+0

應該是第一個 – Axxxon 2014-09-10 09:18:42

+0

好的,我可以在這部分幫助你 – 2014-09-10 09:19:22

回答

1

您可以使用ArrayAdapterinsert方法。從DetailsActivity返回時,使用方法012,從適配器中刪除單擊的項目,然後將該元素插入到第一個位置。當然,你也需要在完成後致電notifyDataSetChanged

要確定何時從DetailsActivity回來,可以使用startActivityForResult啓動它,並在onActivityResult中修改適配器。更多關於那here

1

我可以建議爲它用最簡單的事情是

從列表中刪除的項目和該項目添加到列表上呼籲活動的結果。

數據設置到適配器(可以使用在適配器類的公共方法)

呼叫通知數據集改變。

1

獲取從onItemClicklistener單擊的項目位置,然後刪除在arraylist或array中該位置的項目並將其添加到第0個位置。因此,在調用DetailsActivity而不是編寫startActivity(Intenet)時使用startActivityForResult(Intent)並在OnActivityResult方法中執行上述操作並調用notifydatasetchanged()。