android - 在 ScrollView 内的不可滚动 GridView 中回收 View

标签 android scrollview android-recyclerview

我有一个包含多个其他 View 的 ScrollView,我希望其中一个 View 是具有相同布局的其他 View (例如 ImageView)的网格。

由于不建议在一个可 ScrollView 中包含另一个可 ScrollView ,因此我希望此 GridView 不可滚动,否则我会使用 GridView 或 RecyclerView。

我当然可以将 GridView 放置在标准布局之一(例如 TableLayout)中,但是当存在许多网格项时,这可能会导致内存问题。 是否有任何标准方法或库允许在 ScrollView 中回收非 ScrollView 的 View ?

最佳答案

如果你试图强制 GridViewRecyclerView 不可滚动(所以基本上你必须强制 View 的尺寸显示所有元素)你最终会出现与使用 TableLayout 相同的情况(因此您需要注意内存问题)。

如果你禁用可滚动(回收)元素的滚动,比如 GridView/RecyclerView 你禁用了使这些东西有效工作的最重要的部分(这使得这些东西重用他们的观点)。

解决问题的方法是将 ScrollViewother Views 作为 RecyclerView< 的一部分来实现。你的 RecyclerView 应该配备可以膨胀多种类型的 Viewsadapter (你可以阅读它,例如 here )。

关于android - 在 ScrollView 内的不可滚动 GridView 中回收 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31554965/

相关文章:

android - 如何在 OnDraw 中使用 canvas.drawText 更新文本?安卓

android - 附近的通知不显示

android - 以编程方式在(线性)布局(在 ScrollView 内)中添加 View

android - 将Admob添加到ScrollView -> AdBanner消失

java - RecyclerView 中的定位是如何工作的?

android - GIT merge 的机制是什么?

android - 我们可以在 android sqlite 中使用截断查询吗

android - 将 motionEvent 从一个 scrollView 传递到另一个

android - 当 EditText 处于焦点时无法在 RecyclerView 上通知 DataSetChanged

安卓|指定的子项已有父项。您必须先对 child 的 parent 调用 removeView()