首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >安卓Listview :展示商品详情onItemClic

安卓Listview :展示商品详情onItemClic
EN

Stack Overflow用户
提问于 2013-04-21 03:13:33
回答 4查看 3.7K关注 0票数 1

我从事电子商务应用程序已经有一段时间了,现在我有了一个显示产品列表的ListView --每个产品=1个ImageView和一些TextViews。

我在该ListView上设置了一个onItemClick侦听器,当我单击该listView产品之一时,我希望发生的事件是,启动i新活动'ProductDetails‘,该活动显示有关我所单击的产品的更多信息。

我已经在其他地方问过这个问题,但我没有得到明确的答案,他们说我必须创建一个新的'list\details‘项目,但现在不能发生这种情况,因为我已经在那个项目上工作了大约20天,不能从头开始。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-04-21 07:44:47

您不能将TextViewImageViewActivity发送到Activity。你可以发送的是它的内容。因此,例如,如果您想要传递来自TextView的信息,您将需要传递显示在那里的源String (或者从TextView中提取String ),您可以通过将Bundle从调用的Activity传递到被调用的Extra或简单地将其作为Extra来实现

代码语言:javascript
运行
复制
intent.putExtra("string name", value);

在下面的Activity中,您将获得以下数据:

代码语言:javascript
运行
复制
Intent intent = getIntent();
bundle = intent.getExtras();
bundle.getString("string name");

然后,在下面的Activity中,使用传递的String创建一个TextView。通过传递ImageView的路径,也可以用同样的方式处理它。

票数 1
EN

Stack Overflow用户

发布于 2013-04-21 07:58:35

对不起,我已经发布了一个答案,但只是一个链接到另一个网站,所以它被删除了:-(

在这里,我再次提出了可能的解决方案:

在第一个活动中,您需要使用intent.putExtra(...),并在使用intent.getExtra(...)的第二个活动中检索数据。

示例练习1:

代码语言:javascript
运行
复制
i.putExtra("title01", yourDataCollection.get(position).get(KEY_TITLE01));

练习2:

代码语言:javascript
运行
复制
this.title01 = i.getStringExtra("title01");

这里有一个完整的项目:http://www.codeproject.com/Articles/507651/Customized-Android-ListView-with-Image-and-Text

票数 1
EN

Stack Overflow用户

发布于 2013-04-21 15:23:25

Android使用intent来允许Activitys进行交互。如果您想要显示产品详细信息,您可能有一个描述产品的Class,并用它保存的信息填充您的ListView。如果您允许class Product implements Serializable,则可以使用Intent.putExtra(String name, Serializable obj)Activity之间传递产品说明。在ProductDetailsActivity中,您可以使用:

代码语言:javascript
运行
复制
getIntent(). getSerializableExtra (String name)

要检索放在为启动ProductDetailsActivity而创建的意图中的可序列化文件

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16124145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档