我们可以将listview用于异构集合吗?

时间:2016-08-01 09:11:23

标签: android react-native react-native-android react-native-listview react-native-scrollview

我需要创建一个像facebook应用程序这样的Feed屏幕,我将从api中获取数据,每行都有不同大小的图像和文本。 我知道ScrollView适用于同类和异构集合,listView仅用于同类集合,但我可以将listview用于异构集合的feed。 ?

2 个答案:

答案 0 :(得分:2)

您可以尝试这样的事情:

private List mList = new ArrayList();

mList.add("String");
mList.add('A');
mList.add(true);

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    ......
    ......
    ......
    if(mList.get(position) instanceof String){

    }else if(mList.get(position) instanceof Character){

    }else if(mList.get(position) instanceof Boolean){

    }
}

@Override
public int getItemViewType(int position) {
    if(mList.get(position) instanceof String){
        return 0;
    }else if(mList.get(position) instanceof Character){
        return 1;
    }else if(mList.get(position) instanceof Boolean){
        return 2;
    }
    return 0;
}

或将它们标准化为一个普通的类。

答案 1 :(得分:0)

是的,这是可能的。 React本机句柄非常有效。我没有留下任何选择,除了实施,看看它是否有效,是的,它的工作非常棒。 这篇文章也帮助我了解了很多Recycling Rows For High Performance React Native List Views 感谢