动态添加时,Android自定义视图无效

时间:2015-05-21 15:20:58

标签: java android xml

我看了一遍,似乎我和其他人一样做事,但我似乎无法让它发挥作用。

我已经制作了一个带有多个视图的xml布局 - 它在预览中看起来很好,当它在主xml中硬编码时看起来很好。我想多次动态添加它,就像列表一样。

我用来表示它的代码是:

            LayoutInflater vi = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View v = vi.inflate(R.layout.ticketinformation, null);
            ViewGroup layout = (ViewGroup) findViewById(R.id.scrollViewLinearLayout);
            layout.addView(v, i);

我试图展示的xml是这样的:

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal" android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="fill"
    android:weightSum="1"
    android:baselineAligned="false">

    <RelativeLayout
        android:layout_height="wrap_content"
        android:layout_weight=".5"
        android:layout_width="fill_parent" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:text="123 Fake Street, ON, N2J 2C6"
            android:id="@+id/tvAddress" />
    </RelativeLayout>

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight=".5" >

        <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="0dp"
            android:layout_weight=".5"
            android:gravity="top" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:text="20150010011"
                android:id="@+id/tvRequestNumber"
                android:layout_alignParentRight="true" />
        </RelativeLayout>

        <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight=".5"
            android:gravity="bottom" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:text="May 25, 2015"
                android:id="@+id/tvExcavationDate"
                android:layout_alignParentRight="true" />
        </RelativeLayout>
    </LinearLayout>
</LinearLayout>

所以,如果有人能帮我解释为什么这不会出现,我会非常感激!

1 个答案:

答案 0 :(得分:0)

layout.invalidate();
你试过这个吗? 或者您的LinearLayout的方向可能是错误的方向。