我有一个显示不同片段而不是更改活动的活动。在一个片段中,我有一个 ListView,其中每个项目都有几个 ImageView 和 TextView。当用户单击 ListView 项目时,活动会切换片段,但新片段将共享与 ListView 项目相同的所有视图,以及在该特定片段中添加的更多内容。
有没有办法在片段之间传递视图,所以我不必再次膨胀所有相同的视图?从列表项中的视图中获取位图和文本字符串并将它们填充到新片段中的新视图中会更好吗?
我有一个显示不同片段而不是更改活动的活动。在一个片段中,我有一个 ListView,其中每个项目都有几个 ImageView 和 TextView。当用户单击 ListView 项目时,活动会切换片段,但新片段将共享与 ListView 项目相同的所有视图,以及在该特定片段中添加的更多内容。
有没有办法在片段之间传递视图,所以我不必再次膨胀所有相同的视图?从列表项中的视图中获取位图和文本字符串并将它们填充到新片段中的新视图中会更好吗?
简短回答您的问题。不,除非两个片段具有相同的布局,否则无法在片段之间共享视图。视图只是描述应用程序布局的容器。由您来操作数据以填充容器。
我不认为您正在尝试使用相同的视图。我认为您想要的是列表视图中的数据。您将不得不处理片段到片段的通信。这涉及设置一个接口并将数据传递给您的主要活动,并让您的其他片段在创建活动时从活动中获取该数据。我放了一个我回复的帖子的链接。我发布的代码使用片段来显示应用程序而不是活动。我遗漏了一些片段,但接口的代码和一些好的链接都在那里。如果您对此有任何疑问,请告诉我。
如果您尝试在ListView
新Fragment
的View
. 如果是这种情况,您可以更改新项目,TextView
例如Visibility