ANDROID 适配器从其字符串名称扩展动态布局

ANDROID Adaptor inflating dynamic layout from its string name

我有堆叠卡片视图。所以每张卡片都是设定任务。为此,每张卡片可能有不同的 layouts.I 想知道如何膨胀不同的布局。

为此,我创建了字符串数组来保存我所有的布局名称。

private ArrayList<String> LayOutData;
for (int x = 0; x < 4; x++) { 
   LayOutData.add("card_"+(x + 1));
}

这个LayOutData我像

一样传递给我的适配器
mAdapter = new SwipeStackAdapter(mData,LayOutData);

我的布局名称是这样的

card_1.xml
card_2.xml
card_3.xml
card_4.xml

这是设置视图布局的静态方法。

convertView = getLayoutInflater().inflate(R.layout.card_1, parent, false);

但是我怎样才能用卡片索引膨胀我已经创建的名字。 我对此的尝试如下。

switch (position){
                case 0:
                    convertView = getLayoutInflater().inflate(R.layout.card_1, parent, false);
                    break;
                case 1:
                    convertView = getLayoutInflater().inflate(R.layout.card_2, parent, false);
                    break;
                case 2:
                    convertView = getLayoutInflater().inflate(R.layout.card_3, parent, false);
                    break;
                case 3:
                    convertView = getLayoutInflater().inflate(R.layout.card_3, parent, false);
                    break;
                default:
                    convertView = getLayoutInflater().inflate(R.layout.card_1, parent, false);
                    break;
            }

我知道这不是很好的编码方式,请问您对此提出了一些建议吗?

int id = getContext().getResources().getIdentifier(cardName, "layout", packageName);
getLayoutInflater().inflate(id, parent, false);