【问题标题】:Gridview adapter within an adapter适配器内的 Gridview 适配器
【发布时间】:2016-03-17 17:23:02
【问题描述】:

参考this 问题。我碰壁了,我的两个适配器都设置好了,我的 xml 文件排列得很好。在我的活动中,我将内容视图设置为包含顶部网格视图的主 xml。在适配器中,我已将 Imageview 链接到 gridview。

问题是如何将grid_item.xml 设置为内部适配器的内容视图,以便我可以将下一个图像视图链接到 xml?

这些是我的 xml 文件的顺序:

main_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <GridView
        android:id="@+id/gridview_main"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_margin="5sp"
        android:columnWidth="60sp"
        android:gravity="center"
        android:horizontalSpacing="10sp"
        android:numColumns="2"
        android:stretchMode="columnWidth"
        android:verticalSpacing="10sp"
        android:clipChildren="true" />

</LinearLayout>

grid_item.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/category_main_pic"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/arrow_left_dark" />

    <GridView
        android:id="@+id/gridview_item"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_margin="5sp"
        android:columnWidth="90sp"
        android:gravity="center"
        android:horizontalSpacing="10sp"
        android:numColumns="2"
        android:stretchMode="columnWidth"
        android:verticalSpacing="10sp"
        android:clipChildren="true" />
</LinearLayout>

item_grid_image.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/item_main_pic"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/arrow_left_dark" />

</LinearLayout>

我需要为我的内部适配器获取我的 grid_item.xml 的内容。有什么想法吗?

【问题讨论】:

  • 我需要为我的内部适配器获取 grid_item.xml 的内容。 - 为什么?您应该做的是访问该 grid_item 行的数据。
  • 什么意思?我正在尝试在我的适配器中设置 item_grid_image.xml,如下所示: grid = new View(mContext); grid = layoutInflater.inflate(R.layout.item_grid_image, null);,但得到 NullPointerException 因为 main_layout.xml 设置为我的内容视图。尝试在 gridview 中设置 gridview
  • @Luksprog 忘了通知你
  • 不清楚你在做什么。您在设置适配器的主布局中拥有 gridview_main。在该适配器的getView() 方法中,您将膨胀grid_item.xml 并从膨胀布局中为GridView 设置适配器。在最后一个适配器中,您将扩展 item_grid_image.xml 文件并根据需要设置图像。
  • @Luksprog 问题是在我设置“内部适配器”之前,我需要设置我的内部网格视图 ID,即gridview_item.xml。这个 xml id 不是main_layout.xml 的一部分,这就是我收到错误的原因。适配器充气工作正常。

标签: android gridview adapter


【解决方案1】:

最终设置视图(带图像的视图)取决于孩子的数量。为每个 gridview 元素添加一个 gridview 最终会导致滚动混乱:)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-23
    • 1970-01-01
    • 2012-10-30
    相关资源
    最近更新 更多