Android 使用具有相同recyclerview的两种布局

Android 使用具有相同recyclerview的两种布局,android,json,adapter,android-recyclerview,Android,Json,Adapter,Android Recyclerview,我有个问题。我用JSON文件中的数据填充了CardView的字段,并将它们显示在recyclerview中。现在,我想使用两种不同类型的cardview来显示数据 JSON示例 { { "id":"3", "title":"Title1", "place":"Stade omnisport de lom\u00e9", "imageUrl":".\/uploads\/thumbs\/20150907133004.jpg",

我有个问题。我用JSON文件中的数据填充了CardView的字段,并将它们显示在recyclerview中。现在,我想使用两种不同类型的cardview来显示数据

JSON示例

{
    {
        "id":"3",
        "title":"Title1",
        "place":"Stade omnisport de lom\u00e9",
        "imageUrl":".\/uploads\/thumbs\/20150907133004.jpg",
        "Description":"Lorem ipsum dolor erit ex, quis mollis massa sollicitudin eu. Mauris congue auctor placerat",
        "codeCity":"1"
    },
    {
        "id":"15",
        "title":"Title2",
        "place":"centre culturelle arena",
        "imageUrl":".\/uploads\/thumbs\/C3.PNG",
        "Description":"Lorem ultrices dapibus. Praesent feugiat hendrerit ex, quis mollis massa sollicitudin eu. Mauris congue auctor placerat",
        "codeCity":"1"
    }

    {
        "id":"85",
        "title":"Title3",
        "place":"centrena",
        "imageUrl":".\/uploads\/thumbs\/A4.PNG",
        "Description":"Lorem ultrices dapibus. Praesent feugiat hendrerit ex, quis mollis massa sollicitudin eu. Mauris congue auctor placerat",
        "codeCity":"2"
    }   
}

我想根据城市代码使用不同的视图。例如,对于编码城市“1”,我使用视图1,对于编码城市2,我使用视图2。在我的代码的哪一部分我必须这样做,以及如何做?

请参考以下链接:。这是你可以通过谷歌搜索找到的。建议下次,在创建新问题之前彻底搜索

可能重复的问题您尝试了什么吗?还没有。我在做其他事情
@Override
public int getItemViewType( int position )
{
    String elementName = items.get( position );
    switch(elementName)
    {
        case "1": TYPE_ONE; break;
        case "2": TYPE_TWO; break;
        default 0; break;
    }
}

@Override
public ViewHolder onCreateViewHolder( ViewGroup viewGroup, int viewType )
{
     LayoutInflater mInflater = LayoutInflater.from( viewGroup.getContext( ) );
     ViewHolder viewGroupList;
     switch(viewType)
     {
         case "1": View view1 = mInflater.inflate( R.layout.view1, viewGroup, false );
            viewGroupList = new ViewHolder1( view1 );
            break;
         case "2": View view2 = mInflater.inflate( R.layout.view2, viewGroup, false );
            viewGroupList = new ViewHolder2( view2 );
            break;
     }
     return viewGroupList;
}