我的相对布局有什么问题?

时间:2015-04-19 01:20:56

标签: android android-layout android-relativelayout

各位大家好,这是我在这里发表的第一篇文章。我在android devlopping中的begginner。 我试图做一个listview,我的列表项应该看起来像:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="5dp"
    android:orientation="horizontal" >

    <ImageView
        android:id="@+id/imageIcon"
        android:layout_width="0dp"
        android:layout_weight="2.5"
        android:layout_height="120dp"
        android:layout_marginRight="5dp"
        android:layout_marginTop="3dp"
        android:src="@drawable/e3_0_1_184562_20150331100346" />

    <RelativeLayout
        android:layout_width="0dp"
        android:layout_weight="2"
        android:layout_height="120dp"
        android:layout_marginRight="4dp"
        android:padding="5dp" >
        <RelativeLayout 
            android:id="@+id/top1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"    
            android:layout_above="@+id/dscription">
            <TextView
                android:id="@+id/Product"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_toRightOf="@+id/Distance"
                android:text="@string/shear"
                android:textAppearance="?android:attr/textAppearanceLarge"/>
            <TextView
                android:id="@+id/Distance"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toLeftOf="@+id/Product"
                android:layout_alignParentLeft="true"
                android:text="@string/merk"
                android:textAppearance="?android:attr/textAppearanceSmall"/>
        </RelativeLayout>

        <TextView
            android:id="@+id/dscription"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/thoor"
            android:layout_above="@+id/bottom1"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:textColor="#888" />
        <RelativeLayout 
            android:id="@+id/bottom1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:visibility="invisible"
            android:layout_alignParentBottom="true">
                <TextView
                android:id="@+id/name_p"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_toRightOf="@+id/price_p"
                android:text="@string/sheor"
                android:textAppearance="?android:attr/textAppearanceSmall"
                android:textColor="#888" />
                <TextView
                android:id="@+id/price_p"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toLeftOf="@+id/name_p"
                android:layout_alignParentLeft="true"
                android:text="@string/mir"
                android:textAppearance="?android:attr/textAppearanceSmall"/>
        </RelativeLayout>
    </RelativeLayout>
</LinearLayout>

我需要它看起来像那样 距离,产品 describtion 价格,卖家

第一行中的距离和乘积,左侧的距离和右侧的产品名称。 第二行,产品的长期解释。 第三行(最后一行),我想显示左侧的价格和右侧的卖家

它没有用,它写道: 渲染期间引发异常:RelativeLayout中不存在循环依赖关系 Window&gt;中记录了异常详细信息。显示视图&gt;错误日志

在错误日志中写入&#39; listitem_deal.xml在RelativeLayout&#39;

中不存在循环依赖关系 谢谢,抱歉。

2 个答案:

答案 0 :(得分:1)

  

我的相对布局出了什么问题?

答案: RelativeLayout

中不存在循环依赖关系

现在,这是什么意思?

查看TextView android:id="@+id/ProductTextView android:id="@+id/Distance"

您在做什么是在产品上设置android:layout_toRightOf="@+id/Distance" ,在距离上设置android:layout_toLeftOf="@+id/Product"

Android所做的是首先查看Product并询问,我应该在哪里定位? Distance的权利 - 好的,我会查看Distance并设置Product。但Distance位于Product左侧。所以我必须查看Product的位置......等等。你看到它是如何进入圆圈的吗? (name_pprice_p

也有同样的错误

该错误所寻找的内容并不允许您以这种方式定位。

另外,要纠正

  

预览窗口永远不会正常工作,即使他们这样做也基本没用。

来自评论的

- 预览功能在大多数情况下工作得很好。此错误也应该在真实设备上引发,而不仅仅是在IDE上。

答案 1 :(得分:0)

要创建ListVew,您需要一个ListView项,一个包含数据的结构和一个用于将这些数据从数据源传递到ListView的适配器。

从布局管理器(XML)添加ListView。

包含数据的好方法是编写自定义数据类并将其存储在数组或其他类型的结构中。

如果您的数据类只包含一个您要显示的属性,则使用ArrayAdapter,否则您必须实现自己的适配器。

您可以使用一个Loader来查询SqlLite数据库中的数据。

您可以在此处找到更多详细信息:

http://www.vogella.com/tutorials/AndroidListView/article.html

http://developer.android.com/guide/topics/ui/layout/listview.html

http://developer.android.com/reference/android/widget/ListView.html