2014-09-10 90 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()。