2011-11-21 49 views
0

我遇到了这种情况,我需要一种方法来编辑另一项活动的列表视图项目的数据。我可以处理每个项目上的点击事件,然后即时进行编辑。但是,我仍然喜欢在单独的活动中处理所有编辑。我的listview项目是从BaseAdapter自定义的。 这里是我的主网页, enter image description here如何在这种情况下处理ListView Android?

ListView内的每个项目,包括另外两个TextView。当我点击菜单设置时,它会转到另一个活动,我可以编辑和更新信息:
enter image description here

我目前有两种解决方案。要么从以前的活动中检索数据,并更新整个ListView(我认为在用户只编辑一个项目的情况下,它相当昂贵)。或者我可以摆脱ListView并在xml中创建一堆TextView,通过这样做,我可以通过它们的id来引用每个TextView。所以我的问题是,在这种情况下,哪种方式是首选?任何建议将不胜感激。

回答

1

您的ListView显示电子邮件,名称,标题等?这应该是一个带有TextView条目的固定XML布局,我认为。 ListView适用于可变数量的元素。你可以用ListView实现它,但我不会。

但是,您对更新整个列表过于担心,我也不会担心。你在谈论7-10个领域。 Android需要在整个生命周期中运行并显示所有内容的时间量将会使您更新一些字段。

+0

感谢您的建议。 – Chan

1

您可以使用SharedPreferences。您可以创建一个包装类,通过它可以访问首选项。这是解决这些问题的常用方法。详情请参阅this

您可以将它作为应用程序类中的一个变量,以便您可以在全局上下文中访问该变量。

+0

非常感谢! 'SharedPreferences'实际上是我需要的。 – Chan

0

改为使用文本视图。列表视图代码仅针对大量数据进行了优化,不推荐用于小数据。