Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android适配器未正确膨胀视图_Android - Fatal编程技术网

Android适配器未正确膨胀视图

Android适配器未正确膨胀视图,android,Android,我的布局XML文件和我的手机在充气后显示的布局完全不同。由于某些原因,当在列表视图中膨胀视图时,许多元素会垂直居中;准确地说,它们层叠在一起。我已经确认这是由于适配器代码造成的,而不是布局本身;如果我创建一个新的活动并使用setContentView,视图将按其应有的方式显示(如XML预览中所示)。 对不起,如果我的措词不好,我发高烧,不能直接思考(也许这就是我不能解决这个问题的原因) 屏幕截图(一些photoshopping以保护公司隐私): XML预览: 它实际上是什么样子的: 适配器代

我的布局XML文件和我的手机在充气后显示的布局完全不同。由于某些原因,当在
列表视图中膨胀视图时,许多元素会垂直居中;准确地说,它们层叠在一起。我已经确认这是由于
适配器
代码造成的,而不是布局本身;如果我创建一个新的
活动
并使用
setContentView
,视图将按其应有的方式显示(如XML预览中所示)。 对不起,如果我的措词不好,我发高烧,不能直接思考(也许这就是我不能解决这个问题的原因)

屏幕截图(一些photoshopping以保护公司隐私):

XML预览:

它实际上是什么样子的:

适配器代码:

public class CustomAdapter extends BaseAdapter
{
    private Item item;
    private Activity context;

    public CustomAdapter(Item item, Activity context)
    {
        this.item = item;
        this.context = context;
    }

    public int getCount()
    {
        return 1;
    }

    public Object getItem(int position)
    {
        return item;
    }

    public long getItemId(int arg0)
    {
        return -1;
    }

    public View getView(int position, View convertView, ViewGroup parent)
    {
        View v = convertView;

        if (v == null)
        {
            LayoutInflater vi;
            vi = LayoutInflater.from(context.getApplicationContext());
            v = vi.inflate(R.layout.main_layout, null);
        }
        return v;
    }
}
XML来源:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="320dp"
    android:background="#FFFFFF" >

    <RelativeLayout
        android:id="@+id/middleThing"
        android:layout_width="25dp"
        android:layout_height="fill_parent"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:background="#FFFFFF" >

        <ImageView
            android:id="@+id/topRightIcon"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_marginTop="50dp"
            android:maxHeight="25dp"
            android:maxWidth="25dp"
            android:src="@drawable/arrow_e" />

        <ImageView
            android:id="@+id/bottomRightIcon"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:layout_marginBottom="20dp"
            android:maxHeight="25dp"
            android:maxWidth="25dp"
            android:src="@drawable/arrow_e" />
    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/leftTitle"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="10dp"
        android:layout_toLeftOf="@id/middleThing"
        android:background="#FFFFFF" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:text=""
            android:textColor="#000000"
            android:textSize="16sp" >
        </TextView>
    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/rightTitle"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginRight="10dp"
        android:layout_toRightOf="@id/middleThing"
        android:background="#FFFFFF" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:text=""
            android:textColor="#000000"
            android:textSize="16sp" >
        </TextView>
    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/leftCol"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_alignParentLeft="true"
        android:layout_below="@id/leftTitle"
        android:layout_marginLeft="10dp"
        android:layout_toLeftOf="@id/middleThing"
        android:background="@drawable/background" >

        <TextView
            android:id="@+id/primaryText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:layout_marginBottom="7dp"
            android:layout_marginTop="10dp"
            android:text=""
            android:textColor="#000000"
            android:textSize="12sp" >
        </TextView>

        <ImageView
            android:id="@+id/primaryDisk"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/primaryText"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:maxHeight="40dp"
            android:maxWidth="40dp"
            android:src="@drawable/store" >
        </ImageView>

        <ImageView
            android:id="@+id/snapshotDisk"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:maxHeight="40dp"
            android:maxWidth="40dp"
            android:src="@drawable/store" >
        </ImageView>

        <TextView
            android:id="@+id/snapshotText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@id/snapshotDisk"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:layout_marginBottom="7dp"
            android:text=""
            android:textColor="#000000"
            android:textSize="12sp" >
        </TextView>

        <ImageView
            android:id="@+id/deDisk"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:layout_marginBottom="15dp"
            android:maxHeight="40dp"
            android:maxWidth="40dp"
            android:src="@drawable/store" >
        </ImageView>

        <ImageView
            android:id="@+id/button_direct"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:layout_marginBottom="25dp"
            android:layout_marginRight="20dp"
            android:layout_toLeftOf="@id/deDisk"
            android:maxHeight="40dp"
            android:maxWidth="40dp"
            android:src="@drawable/arrow_direct" >
        </ImageView>

        <TextView
            android:id="@+id/deText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@id/deDisk"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:layout_marginBottom="7dp"
            android:text=""
            android:textColor="#000000"
            android:textSize="12sp" >
        </TextView>

        <ImageView
            android:id="@+id/top_left"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@id/snapshotText"
            android:layout_below="@id/primaryDisk"
            android:layout_centerHorizontal="true"
            android:maxHeight="25dp"
            android:maxWidth="25dp"
            android:src="@drawable/arrow_s" >
        </ImageView>

        <ImageView
            android:id="@+id/bottom_left"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@id/dedupText"
            android:layout_below="@id/snapshotDisk"
            android:layout_centerHorizontal="true"
            android:maxHeight="25dp"
            android:maxWidth="25dp"
            android:src="@drawable/arrow_s" >

        </ImageView>
    </RelativeLayout>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentRight="true"
        android:layout_below="@id/rightTitle"
        android:layout_marginRight="10dp"
        android:layout_toRightOf="@id/middleThing"
        android:background="@drawable/background" >

        <TextView
            android:id="@+id/mirrorText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:layout_marginBottom="7dp"
            android:layout_marginTop="10dp"
            android:text=""
            android:textColor="#000000"
            android:textSize="12sp" >
        </TextView>

        <ImageView
            android:id="@+id/miDisk"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/mirrorText"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:maxHeight="40dp"
            android:maxWidth="40dp"
            android:src="@drawable/store" >
        </ImageView>

        <ImageView
            android:id="@+id/dedrDisk"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:layout_marginBottom="15dp"
            android:maxHeight="40dp"
            android:maxWidth="40dp"
            android:src="@drawable/store" >
        </ImageView>

        <TextView
            android:id="@+id/dedrtext"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@id/dedrDisk"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:layout_marginBottom="7dp"
            android:text=""
            android:textColor="#000000"
            android:textSize="12sp" >
        </TextView>
    </RelativeLayout>

</RelativeLayout>

尝试3参数版本的
充气
给父对象,但传递
,这样它就不会添加视图:

v = vi.inflate(R.layout.main_layout, parent, false);

getView/vi.inflate
中尝试将
null
替换为
parent
之前尝试过,不幸的是,它在使用
java.lang.UnsupportedOperationException进行充气时崩溃:AdapterView中不支持addView(视图,布局参数)
。。。哇,这就解决了。为什么会这样?现在要去看源代码了:P非常感谢!