java - 动态添加时 Android 自定义 View 不起作用

标签 java android xml

我环顾四周,似乎我正在以与其他人相同的方式做事,但我似乎无法让它发挥作用。

我制作了一个带有多个 View 的 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>

因此,如果有人可以帮助向我解释为什么它不会出现,我将不胜感激!

最佳答案

layout.invalidate();

你试过这个吗? 或者你的 LinearLayout 的方向可能是错误的。

关于java - 动态添加时 Android 自定义 View 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30377941/

相关文章:

java - 如何在表单提交之间保留 ModelMap?

android - Espresso : How to call evaluateJavascript() on a WebView

Android - ViewGroup onDraw 是否需要遍历 subview 并显式调用 onDraw?

java - 安卓 : FirebaseAuth - Unsuccessful debug_token response from Facebook

c - XML 文件的拆分

java - 如何在从移动客户端调用的 Spring REST Web 服务中创建和销毁 session

java - Circle 实现 - 如何建模以获取此信息

java - 显示弹出对话框

javascript - 在 JavaScript 中将一个 DOM XML 节点复制到另一个节点

xml - 如何在t-sql中连接peer节点的值