列表/详细Android活动的示例代码

时间:2015-08-17 03:45:38

标签: android

我的理解是,包含列表和详细活动的简单应用的最佳做法是startActivityForResult()。我们假设我的应用有model Product (id, name, price)ProductListActivity以及ProductDetailActivity

我很难理解哪些活动会包含startActivityForResult()哪个活动会包含setResult()以及结果会是什么。

1 个答案:

答案 0 :(得分:1)

  

我的理解是,带有列表和详细信息>活动的简单应用程序的最佳实践将是startActivityForResult()。

我不同意这种说法。

在我看来,最好的方法是在ProductListActivity中设置[onListItemClickListener](http://developer.android.com/reference/android/app/ListActivity.html#onListItemClick(android.widget.ListView,android.view.View,int,long)。

当单击列表中的项目时,将调用onListItemClick()方法,从参数中您将能够确切地找出列表中的哪个项目被单击(例如使用第二个参数 - 位置,这是列表中点击项目的位置,从零开始。)

一旦确定点击了哪个项目,您就会创建一个Intent并将所需的附加内容放在那里(例如点击项目的位置)。 然后,您可以通过调用startActivity()来使用该意图来启动ProductDetailActivity。

然后,在您的ProductDetailActivity中,您将使用getIntent()获取该意图,从该意图中提取额外内容,然后使用它们来决定在您的活动中显示的内容(例如,显示与某个位置相关联的文本)在您的ListList中的ProductListActivity)。您可以使用getExtra *()方法从意图中获取额外内容。

如果你想从该活动中获得一些结果,你会使用startActivityForResult(),在你的例子中似乎并非如此,你只想显示一些细节。现在假设您的活动进行了一些计算,并且您想要获得最终值,那么使用startActivityForResult()将是传递该值的方法之一。