ListView无法正确显示

时间:2016-07-29 18:28:17

标签: android listview xamarin

所以我正在编写这个自定义listView适配器。适配器AXML如下所示:enter image description here

问题是当我在模拟器中编译并运行时,ListView项变为: enter image description here

任何人都可以帮我弄清楚发生了什么吗?也许帮我解决一下?如果您需要任何代码,请告诉我。

更新:AXML文件

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ffffff"
    android:minWidth="25px"
    android:minHeight="25px">
    <TextView
                android:text="ABC 232"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/shopName"
                android:textColor="#3c3c3c"
                android:textSize="22dp" />

        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/linearLayout2"
            android:weightSum="1">
           <TextView
                    android:text="~800m away"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/distance"
                    android:layout_marginLeft="0.0dp"
                    android:textColor="#3c3c3c"
                    android:layout_weight="0.5"/>
            <TextView
                android:text="Total: 12.45 RON"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/total"
                android:layout_gravity="right"
                android:layout_marginLeft="22.0dp"
                android:textColor="#3c3c3c"
                android:layout_weight="0.5"/>
        </LinearLayout>
</LinearLayout>

3 个答案:

答案 0 :(得分:0)

请将所有文字视图宽度和高度属性更改为wrap_content。特别适用于shopName的文本视图。

您也可以删除linearLayout1, linearLayout3 and linearLayout4。因为他们补充说明你的观点很重要。

答案 1 :(得分:0)

您无需在LinearLayout中封装每个TextView。如果您希望在字体周围填充,TextView具有填充属性,将以更干净的方式实现相同的效果。

如果以这种方式清理代码,则不显示视图的问题可能会更清晰。

答案 2 :(得分:0)

它可以更简单,使用相对布局并将所有三个文本彼此对齐。 设计步骤: 1)采用父相对布局,使其居中垂直和水平 2)放置text1并使父对齐顶部并从左边给出边距或填充 3)将text2放在text1下面,并从顶部给出填充或边距。 4)将text3放置在text1或text2的右侧,或者使其成为父级的中心垂直和水平,或者给左边距。一旦你选择,这是你的选择。 如果你想要更多帮助,请跟我说。 :)GlbMP