我们可以将列表视图用于异构集合吗
Can we use listview for heterogeneous collections
我需要创建一个类似于 facebook 应用程序的提要屏幕,我将从 api 中获取数据,每行都有不同大小的图像和文本。
我知道 ScrollView 适用于同类和异构集合,而 listView 仅适用于同类集合,但我可以将 listview 用于异构集合以供提要。 ?
您可以尝试这样的操作:
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;
}
或者将它们归一化为通用的Class。
是的,这是可能的。 React native handle 非常高效。除了实施并查看它是否有效之外,我别无选择,是的,它工作得非常好。
此外,这个 post 帮助我完成了很多 Recycling Rows For High Performance React Native List Views
谢谢
我需要创建一个类似于 facebook 应用程序的提要屏幕,我将从 api 中获取数据,每行都有不同大小的图像和文本。 我知道 ScrollView 适用于同类和异构集合,而 listView 仅适用于同类集合,但我可以将 listview 用于异构集合以供提要。 ?
您可以尝试这样的操作:
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;
}
或者将它们归一化为通用的Class。
是的,这是可能的。 React native handle 非常高效。除了实施并查看它是否有效之外,我别无选择,是的,它工作得非常好。 此外,这个 post 帮助我完成了很多 Recycling Rows For High Performance React Native List Views 谢谢