0

我想知道这在Android中是否可行。我正在使用支持库 v4。我遇到的问题是我必须使用两个适配器在两个活动中显示相同的自定义视图,一个适配器支持视图寻呼机,另一个支持网格。基本上有一个网格,其中包含您可以查看的图像,然后当您单击元素时,它应该打开另一个活动,您可以在视图寻呼机中查看相同的图像。我尝试在片段 onCreateView 方法中返回相同的视图,但是在首先使用删除视图之后让孩子已经有一个我期望的父级

((ViewGroup) myImageView.getParent()).removeView(myImageView);

我得到 java.lang.UnsupportedOperationException: removeView(View) is not supported in AdapterView 异常,我没想到会发生。知道我被卡住了,因为我不想创建新视图,而是使用两个适配器中的现有视图。我的问题是:是否可以显示相同的视图,或者我是否处于完全错误的轨道上,应该以其他方式实现这个“适配器链接”?

4

1 回答 1

1

是否可以显示相同的视图,或者我是否在完全错误的轨道上,应该以其他方式实现这个“适配器链接”?

没有办法在两个活动之间共享视图,而且您也不想这样做。即使您使用带有片段的单个活动,您也不应该共享适配器的视图,因为它可能会导致您遇到更多问题。

做你想做的事情的正确方法是在你想要相同数据的两个地方重新创建数据,如果你使用适配器,这应该很容易。您基本上需要ViewPager在用于GridView.

我得到 java.lang.UnsupportedOperationException: removeView(View) is not supported in AdapterView 异常,我没想到会发生。

一个子级AdapterView通过适配器管理其子级,并且为它们实现了类似addView()或未removeView()实现的方法。

于 2013-05-30T10:17:54.163 回答