动态添加CardView(使用XML)

时间:2014-08-25 23:45:57

标签: android xml android-layout android-cardview

我在想。有没有办法通过按下按钮将CardViews添加到RecyclerView?

我的意思是我可以使用此XML添加CardView

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/cardrl"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity$MainFragment">
<android.support.v7.widget.CardView
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    android:foreground="?android:attr/selectableItemBackground"
    android:id="@+id/CardView_1"
    android:layout_width="match_parent"
    android:layout_height="70dp"
    android:elevation="2dp">
    <TextView
        android:layout_gravity="top|right"
        android:text="@string/card_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
</android.support.v7.widget.CardView>

并且拥有它以便在创建之前我可以使用数据填充TextView吗?

我知道很多人会说这样做:

RelativeLayout rl = (RelativeLayout) findById(R.id.rl);

LayoutInflater layoutInflater = (LayoutInflater) 
    this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);    
rl.addView(1, layoutInflater.inflate(R.layout.content_layout, this, false) ); 

但出于某种原因,它不会起作用,因为它说Cannot resolve method Inflate(int, activity, boolean)

非常感谢任何帮助!谢谢!

1 个答案:

答案 0 :(得分:0)

那是因为没有inflate(int, activity, boolean)方法这样的东西。 它应该是inflate(int resId, Viewgroup parentContainer, boolean attachToParent)