package mcxtzhang.recyclerviewdemo.anyview; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import com.mcxtzhang.commonadapter.databinding.rv.BaseBindingVH; import com.mcxtzhang.commonadapter.databinding.rv.mul.BaseMulTypeBindingAdapter; import com.mcxtzhang.commonadapter.databinding.rv.mul.IBaseMulInterface; import java.util.ArrayList; import java.util.List; import mcxtzhang.recyclerviewdemo.R; import mcxtzhang.recyclerviewdemo.anyview.bean.FragBean; import mcxtzhang.recyclerviewdemo.anyview.bean.RvBean; import mcxtzhang.recyclerviewdemo.anyview.dummy.DummyContent; import mcxtzhang.recyclerviewdemo.databinding.ItemRvBinding; public class AnyViewActivity extends AppCompatActivity implements ItemFragment.OnListFragmentInteractionListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_any_view); RecyclerView recyclerView = (RecyclerView) findViewById(R.id.rv); recyclerView.setLayoutManager(new LinearLayoutManager(this)); final List<IBaseMulInterface> datas = new ArrayList<>(); datas.add(new FragBean()); datas.add(new RvBean()); recyclerView.setAdapter(new BaseMulTypeBindingAdapter(this, datas) { @Override public void onBindViewHolder(BaseBindingVH holder, int position) { super.onBindViewHolder(holder, position); switch (datas.get(position).getItemLayoutId()) { case R.layout.item_fragment: getSupportFragmentManager().beginTransaction().replace(R.id.flContainer,ItemFragment.newInstance(1)).commitAllowingStateLoss(); break; case R.layout.item_rv: ItemRvBinding itemRvBinding = (ItemRvBinding) holder.getBinding(); itemRvBinding.list.setLayoutManager(new LinearLayoutManager(mContext)); itemRvBinding.list.setAdapter(new MyItemRecyclerViewAdapter(DummyContent.ITEMS, AnyViewActivity.this)); break; } } } ); } @Override public void onListFragmentInteraction(DummyContent.DummyItem item) { } }