根据点击事件加载新的ViewHolder

时间:2016-07-20 22:55:42

标签: android android-layout android-recyclerview

在RecyclerView中,有关加载不同视图的任何提示onitemclick?当在该位置的视图符号1中单击项目时,我无法在加载视图2​​周围缠绕我的头部。视图1和视图2都是卡片列表。所以说比如说。 vh1包含一个样本酒店图像。当您点击该vh2时,会显示该酒店的联系方式 - 在该位置,同时保留vh1,直至其他未点击的内容。

之前我确实问过这样的问题,我认为这有点模糊,所以人们建议我根据onitem点击更改信息。问题是vh1和2完全不同的布局,所以这对我正在做的工作不起作用。

这甚至可能吗? 感谢

1 个答案:

答案 0 :(得分:0)

您可以为RecyclerView创建另一个适配器。创建一个新的Java类,随意调用它。在您的主要活动或您正在设置适配器的活动中,您可以创建如下函数:

public void setNewAdapter() {
    RecyclerView recyclerView = (RecyclerView) findViewById(R.id.your_recyclerview_id);
    LinearLayoutManager layoutManager = new LinearLayoutManager(this);
    NewAdapter adapter = new NewAdapter(// any arguments);

    recyclerView.setHasFixedSize(true);
    recyclerView.setLayoutManager(layoutManager);
    recyclerView.setAdapter(adapter);
}

在适配器中,您可以创建活动的新实例。例如,如果您的活动名为MainActivity,则可以在onItemClick中添加此代码:

MainActivity mainActivity = new MainActivity();
mainActivity.setNewAdapter();

看看是否有效。