Android GridView仅显示第一行

Android GridView仅显示第一行,android,gridview,Android,Gridview,我有一个gridview来显示带有按钮的图像,但我有一个问题,它只显示第一行,我将数据发送给它3行 这是我的布局代码: <?xml version="1.0" encoding="utf-8"?><!-- To make screen scroll in vertical direction --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:b

我有一个gridview来显示带有按钮的图像,但我有一个问题,它只显示第一行,我将数据发送给它3行

这是我的布局代码:

<?xml version="1.0" encoding="utf-8"?><!-- To make screen scroll in vertical direction -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:bootstrapthumbnail="http://schemas.android.com/apk/res-auto"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:fillViewport="true"
    android:background="@drawable/fondodroid2"
    android:orientation="vertical">

    <!-- Main layout -->

    <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:id="@+id/scrollView">

        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">

            <LinearLayout
                android:orientation="vertical"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="#fefdff"
                android:layout_marginLeft="@dimen/login_activity_horizontal_margin"
                android:layout_marginRight="@dimen/login_activity_horizontal_margin"
                android:layout_marginTop="@dimen/login_activity_vertical_margin"
                android:padding="@dimen/login_activity_horizontal_margin"
                android:id="@+id/linearLayout">

                <RelativeLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:baselineAligned="true"
                    android:paddingTop="0dp"
                    android:paddingBottom="0dp"
                    android:layout_marginBottom="@dimen/login_activity_vertical_margin"
                    android:weightSum="1">

                    <ImageView
                        android:layout_width="@dimen/login_activity_logo"
                        android:layout_height="@dimen/login_activity_logo"
                        android:id="@+id/imageView"
                        android:src="@drawable/logo"
                        android:contentDescription="Icon GG"
                        android:layout_alignParentLeft="true"
                        android:layout_alignParentTop="true" />

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:textAppearance="?android:attr/textAppearanceLarge"
                        android:text="@string/files"
                        android:id="@+id/textView"
                        android:textSize="@dimen/login_activity_text"
                        android:textColor="@android:color/black"
                        android:textStyle="bold"
                        android:layout_marginTop="10dp"
                        android:layout_alignParentTop="true"
                        android:layout_toRightOf="@+id/imageView"
                        android:layout_marginLeft="10dp" />

                </RelativeLayout>

                <RelativeLayout
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_gravity="center"
                    android:id="@+id/relativeLayout">

                    <LinearLayout
                        android:orientation="vertical"
                        android:layout_width="match_parent"
                        android:layout_height="fill_parent"
                        android:layout_centerInParent="true"
                        android:background="#686868"
                        android:gravity="center">

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:textColor="@android:color/white"
                            android:text="@string/sign_string"
                            android:textSize="@dimen/login_activity_vertical_margin"
                            android:textStyle="bold" />
                    </LinearLayout>

                </RelativeLayout>

                <RelativeLayout
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_gravity="center">

                    <LinearLayout
                        android:orientation="vertical"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:gravity="center"
                        android:id="@+id/linearSign"
                        android:layout_centerInParent="true"
                        android:background="#cccccc"
                        android:visibility="gone">

                        <ImageView
                            android:id="@+id/sign_thumb"
                            android:layout_width="150dp"
                            android:layout_height="150dp"
                            android:layout_margin="3dp"></ImageView>

                        <LinearLayout
                            android:orientation="horizontal"
                            android:layout_width="150dp"
                            android:layout_height="wrap_content"
                            android:layout_below="@+id/sign_thumb"
                            android:layout_alignEnd="@+id/sign_thumb">

                            <Button
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"
                                android:text="Eliminar"
                                android:id="@+id/deleteButton"
                                android:background="#cc6b67"
                                android:textStyle="bold"
                                android:layout_marginBottom="8dp" />
                        </LinearLayout>


                    </LinearLayout>
                </RelativeLayout>

                <RelativeLayout
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_gravity="center"
                    android:id="@+id/relativeLayout2"
                    android:layout_marginTop="16dp">

                    <LinearLayout
                        android:orientation="vertical"
                        android:layout_width="match_parent"
                        android:layout_height="fill_parent"
                        android:layout_centerInParent="true"
                        android:background="#686868"
                        android:gravity="center">

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:textColor="@android:color/white"
                            android:text="@string/images"
                            android:textSize="@dimen/login_activity_vertical_margin"
                            android:textStyle="bold" />
                    </LinearLayout>
                </RelativeLayout>

                <LinearLayout
                    android:orientation="vertical"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:id="@+id/linearLayout2">


                    <GridView
                        android:layout_width="wrap_content"
                        android:layout_height="fill_parent"
                        android:id="@+id/gridImages"
                        android:numColumns="2"
                        android:layerType="hardware"
                        android:verticalSpacing="1dp"
                        android:horizontalSpacing="1dp" />
                </LinearLayout>


            </LinearLayout>

            <ImageView
                android:layout_width="@dimen/login_activity_logo_h"
                android:layout_height="@dimen/login_activity_logo_v"
                android:id="@+id/imageView2"
                android:src="@drawable/logo"
                android:layout_below="@+id/linearLayout"
                android:layout_alignRight="@+id/linearLayout"
                android:layout_marginTop="@dimen/login_activity_vertical_margin"
                android:layout_marginBottom="@dimen/login_activity_vertical_margin"
                android:contentDescription="@string/logo" />

        </RelativeLayout>
    </ScrollView>

</LinearLayout>

在适配器我没有任何扼杀,但如果你需要,我复制它在这里..我尝试填充\u家长包装\u内容等,但没有任何工作

编辑:适配器代码:

public class GridAdapter extends BaseAdapter {

    private LayoutInflater inflater;
    private Activity activity;
    private List<String> images = new ArrayList<String>();
    private OnDeleteItem mListener;

    public interface OnDeleteItem {
        public void onDeleteItemClick(String path);
    }

    public GridAdapter(Activity inyectActivity, List<String> listImages) {
        activity = inyectActivity;
        images = listImages;
        inflater = LayoutInflater.from(activity);
        mListener = (ReviewFilesActivity) activity;

    }

    public void notifyDataSetChanged(List<String> dataImages) {
        images = dataImages;
        super.notifyDataSetChanged();
    }

    public View getView(final int position, View convertView, ViewGroup parent) {
        GridViewHolder vHolder;
        if (convertView == null) {
            convertView = inflater.inflate(R.layout.grid_view, null);
            vHolder = new GridViewHolder(convertView, mListener);
            vHolder.image.setImageBitmap(ImagesUtilities.decodeSampledBitmapFromResource(images.get(position), 400, 400));
            vHolder.path = images.get(position);
            vHolder.delete.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    mListener.onDeleteItemClick(images.get(position));
                }
            });
        } else {
            vHolder = (GridViewHolder) convertView.getTag();
        }
        return convertView;
    }

    @Override
    public int getCount() {
        return images.size();
    }

    @Override
    public Object getItem(int position) {
        return null;
    }

    @Override
    public long getItemId(int position) {
        return 0;
    }

    static class GridViewHolder {

        public GridViewHolder(View view, OnDeleteItem listener) {
            ButterKnife.inject(this, view);
        }

        @InjectView(R.id.grid_item_image)
        ImageView image;
        @InjectView(R.id.deleteButton)
        Button delete;
        String path;

        public String getPath() {
            return path;
        }

    }
}
公共类GridAdapter扩展BaseAdapter{
私人充气机;
私人活动;
私有列表图像=新的ArrayList();
私人项目经理;
删除项的公共接口{
公共void onDeleteItemClick(字符串路径);
}
公共GridAdapter(活动inYecActivity,列表图像){
活动=InYecActivity;
图像=列表图像;
充气机=从(活动)开始的充气机;
mListener=(审查文件活动)活动;
}
public void notifyDataSetChanged(列出数据图像){
图像=数据图像;
super.notifyDataSetChanged();
}
公共视图getView(最终整数位置、视图转换视图、视图组父视图){
GridViewHolder;
if(convertView==null){
convertView=充气机。充气(R.layout.grid_视图,空);
vHolder=新的GridViewHolder(convertView,mListener);
vHolder.image.setImageBitmap(ImagesUtilities.decodeSampledBitmapFromResource(images.get(position),400400));
vHolder.path=images.get(位置);
vHolder.delete.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
mListener.onDeleteItemClick(images.get(position));
}
});
}否则{
vHolder=(GridViewHolder)convertView.getTag();
}
返回视图;
}
@凌驾
public int getCount(){
返回图像。size();
}
@凌驾
公共对象getItem(int位置){
返回null;
}
@凌驾
公共长getItemId(int位置){
返回0;
}
静态类GridViewHolder{
公共GridViewHolder(视图、OnDeleteItem侦听器){
注入(这个,视图);
}
@InjectView(R.id.grid\u项目\u图像)
图像视图图像;
@InjectView(R.id.deleteButton)
按钮删除;
字符串路径;
公共字符串getPath(){
返回路径;
}
}
}
编辑2:

我做的更简单的是XML,但行不显示

<?xml version="1.0" encoding="utf-8"?><!-- To make screen scroll in vertical direction -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:fillViewport="true"
    android:background="@drawable/fondodroid2"
    android:orientation="vertical">

    <!-- Main layout -->

    <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:id="@+id/scrollView">

        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">

            <LinearLayout
                android:orientation="vertical"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="#fefdff"
                android:layout_marginLeft="@dimen/login_activity_horizontal_margin"
                android:layout_marginRight="@dimen/login_activity_horizontal_margin"
                android:layout_marginTop="@dimen/login_activity_vertical_margin"
                android:padding="@dimen/login_activity_horizontal_margin"
                android:id="@+id/linearLayout">

                <RelativeLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:baselineAligned="true"
                    android:paddingTop="0dp"
                    android:paddingBottom="0dp"
                    android:layout_marginBottom="@dimen/login_activity_vertical_margin"
                    android:weightSum="1">

                    <ImageView
                        android:layout_width="@dimen/login_activity_logo"
                        android:layout_height="@dimen/login_activity_logo"
                        android:id="@+id/imageView"
                        android:src="@drawable/logo"
                        android:contentDescription="Icon GG"
                        android:layout_alignParentLeft="true"
                        android:layout_alignParentTop="true" />

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:textAppearance="?android:attr/textAppearanceLarge"
                        android:text="@string/files"
                        android:id="@+id/textView"
                        android:textSize="@dimen/login_activity_text"
                        android:textColor="@android:color/black"
                        android:textStyle="bold"
                        android:layout_marginTop="10dp"
                        android:layout_alignParentTop="true"
                        android:layout_toRightOf="@+id/imageView"
                        android:layout_marginLeft="10dp" />

                </RelativeLayout>

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:id="@+id/relativeLayout"
                    android:orientation="vertical">

                    <TextView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:textColor="@android:color/white"
                        android:text="@string/sign_string"
                        android:textSize="@dimen/login_activity_vertical_margin"
                        android:textStyle="bold"
                        android:background="#686868"
                        android:layout_alignParentEnd="true"
                        android:layout_alignParentStart="true"
                        android:gravity="center"
                        android:id="@+id/textView3" />

                    <ImageView
                        android:id="@+id/sign_thumb"
                        android:layout_width="match_parent"
                        android:layout_height="100dp"
                        android:layout_centerHorizontal="true"
                        android:layout_alignParentEnd="false"
                        android:visibility="gone" />

                    <Button
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:text="Eliminar"
                        android:id="@+id/deleteButton"
                        android:background="#cc6b67"
                        android:textStyle="bold"
                        android:layout_alignBottom="@+id/textView3"
                        android:layout_alignParentStart="true"
                        android:visibility="gone" />

                </LinearLayout>

                <RelativeLayout
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_gravity="center"
                    android:id="@+id/relativeLayout2"
                    android:layout_marginTop="16dp">

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="match_parent"
                        android:textColor="@android:color/white"
                        android:text="@string/images"
                        android:textSize="@dimen/login_activity_vertical_margin"
                        android:textStyle="bold"
                        android:background="#686868"
                        android:layout_alignParentEnd="true"
                        android:layout_alignParentStart="true"
                        android:gravity="center"
                        android:id="@+id/textView2" />

                    <GridView
                        android:layout_width="match_parent"
                        android:layout_height="fill_parent"
                        android:id="@+id/gridImages"
                        android:numColumns="2"
                        android:verticalSpacing="1dp"
                        android:horizontalSpacing="1dp"
                        android:layout_alignParentLeft="false"
                        android:layout_marginLeft="0dp"
                        android:layout_below="@+id/textView2" />
                </RelativeLayout>


            </LinearLayout>

            <ImageView
                android:layout_width="@dimen/login_activity_logo_h"
                android:layout_height="@dimen/login_activity_logo_v"
                android:id="@+id/imageView2"
                android:src="@drawable/logo"
                android:layout_below="@+id/linearLayout"
                android:layout_alignRight="@+id/linearLayout"
                android:layout_marginTop="@dimen/login_activity_vertical_margin"
                android:layout_marginBottom="@dimen/login_activity_vertical_margin"
                android:contentDescription="@string/logo" />

        </RelativeLayout>
    </ScrollView>

</LinearLayout>

以下是一些简化的示例,以实现所需的布局

<?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" >

    <LinearLayout
        android:id="@+id/linearLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

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

        <TextView
            android:id="@+id/textView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/relativeLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/textView3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

        <ImageView
            android:id="@+id/sign_thumb"
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:src="@drawable/ic_icon" />

        <Button
            android:id="@+id/deleteButton"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
    </LinearLayout>

    <TextView
        android:id="@+id/textView2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <GridView
        android:id="@+id/gridImages"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:numColumns="2" />

    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@drawable/ic_icon" />

</LinearLayout>


适配器代码会有帮助您的布局过于复杂,我怀疑您是否真的需要这么多嵌套线性布局和相对布局。我的第一个提示是gridview的高度它是匹配父级,但是没有足够的空间显示它,并且(远)外部scollview的子级也有匹配父级的高度,因此,滚动不起作用。我将对其进行编辑以使其更简单。@rekaszeru我做得更简单,但结果相同如果此答案有助于您解决问题,请@colymore