两个适配器共享相同的视图

时间:2013-05-30 09:37:15

标签: android android-adapter

我想知道这在Android中是否可行。我正在使用支持库v4。 我遇到的问题是我必须使用两个适配器在两个活动中显示相同的自定义视图,一个适配器支持视图寻呼机,另一个适配器支持网格。基本上有一个网格,你可以查看图像,然后当你点击元素时,它应该打开另一个Activity,你可以在视图寻呼机中查看相同的图像。我尝试在片段onCreateView方法中返回相同的视图,但是在使用

删除视图后,让孩子已经拥有了我期望的父级
((ViewGroup) myImageView.getParent()).removeView(myImageView);

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

1 个答案:

答案 0 :(得分:1)

  

是否可以显示相同的视图,或者我完全错了   跟踪并应该实现这个"适配器链接"其他方式?

无法在两个活动之间分享观点,无论如何你都不想这样做。即使您使用带有片段的单个活动,也不应该共享适配器的视图,因为它可能会导致更多问题。

执行所需操作的正确方法是在您想要相同数据的两个位置重新创建数据,如果您使用适配器,这应该很容易。您基本上需要为ViewPager使用的普通适配器中的GridView页面使用相同的布局。

  

我得到java.lang.UnsupportedOperationException:removeView(View)不是   在AdapterView异常中支持,我预计不会发生这种情况。

AdapterView的孩子通过适配器管理其子女,并且没有为他们实施addView()removeView()等方法。