【发布时间】: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的一部分,这就是我收到错误的原因。适配器充气工作正常。