[React Native android]任何人都知道如何在滚动视图中嵌入listview滚动?它适用于iOS,但不适用于Android。
N
答案 0 :(得分:1)
这不是正确的方法。即使你设法做到这一点,这也是一种不好的做法。请记住,ScrollView和ListView之间的主要区别在于ListView仅呈现可见项并对其进行回收以优化内存使用。通过在ScrollView中添加ListView,您可能会“破坏”此功能。
不要尝试在ScrollView中添加ListView,而只使用具有不同类型项目的ListView。一些事情:
export default class MyListComponent extends Component {
constructor(props) {
super(props);
const ds = new ListView.DataSource({ rowHasChanged: (r1, r2) => r1 !== r2 });
this.state = {
dataSource: ds.cloneWithRows(this.props.data)
};
}
render() {
return (
<ListView
enableEmptySections={true}
dataSource={this.state.dataSource}
renderRow={(rowData) => this._getViewForType(rowData)}/>
);
}
_getViewForType(rowData) {
switch (rowData.renderType) {
case 'type1':
return <Text>test1</Text>
case 'type2':
return <Text>test2</Text>
default:
// Render your normal/default listview item here.
return ...
}
}
}
现在,在渲染此视图之前,您只需要在项目列表中添加两个额外项目:一个类型为“type1”,另一个类型为“type2”。