我有一个recylerview项目
<?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">
<TextView
android:layout_width="fill_parent"
android:layout_height="40dp"
android:id="@+id/sample1"
android:text="Sample1"/>
<LinearLayout
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/insertat">
</LinearLayout>
<TextView
android:layout_width="fill_parent"
android:layout_height="40dp"
android:id="@+id/sample2"
android:text="Sample2"/>
</LinearLayout>
onclicking id sample1
我想在linearlayout id insertat
中插入一个布局文件sample3.xml。 sample3.xml如下
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/toinsert">
<TextView
android:layout_width="fill_parent"
android:layout_height="40dp"
android:text="Sample1"
android:id="@+id/sample3"/>
</LinearLayout>
在onBindview中我正在尝试此代码
public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int i) {
PersonViewHolderplace vh3 = (PersonViewHolderplace) viewHolder;
vh3.sample1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(vh3.toinsert == null){
View hiddenInfo = ((Activity) context).getLayoutInflater().inflate(R.layout.sample3, vh3.insertat, false);
vh3.insertat.addView(hiddenInfo);
}
}
});
}
public static class PersonViewHolderplace extends RecyclerView.ViewHolder
{
TextView sample1;
LinearLayout insertat;
LinearLayout toinsert;
PersonViewHolderplace(View itemView)
{
super(itemView);
this.sample1 = (TextView)itemView.findViewById(R.id.sample1);
this.insertat = (LinearLayout)itemView.findViewById(R.id.insertat);
this.toinsert = (LinearLayout)itemView.findViewById(R.id.toinsert);
}
}
我在recyclerview中有10个项目。
当我点击recyclerview中第一个项目的sample1时,sample3 xml将插入第二个项目中。
未在单击的同一项目中插入sample3.xml。它插在另一个项目中。
我也只想添加一次,但即使我使用了条件(vh3.toinsert == null),它也会在同一个项目中多次添加