做这样的事情最有效的方法是什么?

时间:2015-04-23 17:15:22

标签: android

所以我想创建一个包含一系列内容的应用程序,但是当您单击列表中的某个内容时,将显示一个全新的页面,显示有关列表中对象价格的信息。

这个列表上有100多个东西,需要在每个旁边有一个不同的图像,并且需要能够将东西添加到列表中(因为它将按字母顺序排列)。

我并不是真的要求有关如何实现这一目标的代码,而是更多关于如何实现这一目标的战斗计划,所以就像“在这里使用ListView,然后在这里做,等等”。 在此先感谢:)

2 个答案:

答案 0 :(得分:0)

您似乎主要处理两个活动,一个用于项目列表,另一个用于显示对象的详细信息。

对象列表活动

您可能希望自己的活动使用ListFragment来加载所有对象。然后,您可以创建自己的BaseAdapter适配器子类,并将所有数据加载到其中,以便为ListFragment创建每个视图。创建适配器后,您可以使用setListAdapter方法设置ListFragment的适配器并开始加载适配器中的数据。

添加新项目

如果您想添加新项目,可能需要在onCreateOptionsMenu中使用ListFragment创建一个菜单,其中包含加号按钮作为图标。调用onOptionsItemSelected后,您可以启动DialogFragment,为用户提供添加新项目的选项。

用户在DialogFragment中添加了一个项目并将数据保存在某个位置,例如SqliteDatabase。一旦DialogFragment返回ListActivity,您应该使用新添加的项目更新适配器,并在getListView().notifyDatasetChanged()中调用ListFragment

对象详情活动

这应该很简单。当ListFragmentonListItemClicked获得回调时,只需将此数据传递到Intent并启动新的Activity即可处理显示所点击对象的详细信息

答案 1 :(得分:0)

你应该使用这些东西:

  1. 的ListView
  2. ArrayAdapter<>
  3. FragmentActivity
  4. 自定义对话框
  5. 因为你要有超过100个元素,所以让Android(ListView)处理内存的东西是个好主意。我的意思是,它将重复使用列表中的单元格/箭头/视图以避免内存滥用。

    使用ArrayAdapter,您可以处理“添加/更新”listView并自定义您想要的所有内容。您应该使用另一个FragmentActivity / Dialog来获取“添加”过程的新值。

    FragmentActivity只是我的偏好,因为与Android版本的兼容性

相关问题