所以我想创建一个包含一系列内容的应用程序,但是当您单击列表中的某个内容时,将显示一个全新的页面,显示有关列表中对象价格的信息。
这个列表上有100多个东西,需要在每个旁边有一个不同的图像,并且需要能够将东西添加到列表中(因为它将按字母顺序排列)。
我并不是真的要求有关如何实现这一目标的代码,而是更多关于如何实现这一目标的战斗计划,所以就像“在这里使用ListView,然后在这里做,等等”。 在此先感谢:)
答案 0 :(得分:0)
您似乎主要处理两个活动,一个用于项目列表,另一个用于显示对象的详细信息。
对象列表活动
您可能希望自己的活动使用ListFragment来加载所有对象。然后,您可以创建自己的BaseAdapter适配器子类,并将所有数据加载到其中,以便为ListFragment
创建每个视图。创建适配器后,您可以使用setListAdapter方法设置ListFragment
的适配器并开始加载适配器中的数据。
添加新项目
如果您想添加新项目,可能需要在onCreateOptionsMenu
中使用ListFragment
创建一个菜单,其中包含加号按钮作为图标。调用onOptionsItemSelected
后,您可以启动DialogFragment,为用户提供添加新项目的选项。
用户在DialogFragment
中添加了一个项目并将数据保存在某个位置,例如SqliteDatabase。一旦DialogFragment
返回ListActivity,您应该使用新添加的项目更新适配器,并在getListView().notifyDatasetChanged()
中调用ListFragment
。
对象详情活动
这应该很简单。当ListFragment
从onListItemClicked
获得回调时,只需将此数据传递到Intent
并启动新的Activity
即可处理显示所点击对象的详细信息
答案 1 :(得分:0)
你应该使用这些东西:
因为你要有超过100个元素,所以让Android(ListView)处理内存的东西是个好主意。我的意思是,它将重复使用列表中的单元格/箭头/视图以避免内存滥用。
使用ArrayAdapter,您可以处理“添加/更新”listView并自定义您想要的所有内容。您应该使用另一个FragmentActivity / Dialog来获取“添加”过程的新值。
FragmentActivity只是我的偏好,因为与Android版本的兼容性