在运行时重用其他布局中的渲染布局

时间:2016-02-23 07:42:42

标签: android android-layout android-fragments

我在布局 l1.xml 中使用 RecylerView 。我使用include标记将 l1.xml 包含在 l2.xml 中。 我在api调用后更新了这个RecyclerView,但是l2.xml没有显示更新的RecyclerView。

有没有办法强行要求父母刷新?

invalidate(),refreshDrawableState();在父布局上没有帮助吗?

是否有更智能的方法在多个位置使用渲染布局?

l1.xml

...
...
<LinearLayout
    android:id="@+id/feed"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="4"
    android:background="@color/light_primary_background">

    <include layout="@layout/events_list"/>
</LinearLayout>
...
...

events_list.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/events_recycler_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent" />

我在API调用后更新了 events_recycler_view 并更新了events_list.xml但是l1.xml中的include没有更新

1 个答案:

答案 0 :(得分:0)

是的,您总是可以使用LayoutInflater来扩展视图,但视图必须具有与您的Java代码中定义的id和类型匹配的ID和类型。

查看此链接以了解如何使用布局inflater

http://www.programcreek.com/java-api-examples/android.view.LayoutInflater