//3个主界面的listview
'use strict';
import React, {
AppRegistry,
Component,
StyleSheet,
ListView,
Text,
View,
Image,
TouchableOpacity,
AlertIOS,
RefreshControl,
ActivityIndicatorIOS
} from 'react-native';
import InfoPage from './Info.js'
export default class MyListView extends Component{
//初始化。
constructor(props) {
super(props);
this.state = {
isLoading: true, //是否正在加载.
isLoadingFail: true, //是否加载失败.
isHaveData: false, //是否有加载出数据了。
dataSource: new ListView.DataSource({
rowHasChanged: (row1, row2) => row1 !== row2,
}),
queryNumber: 0,
};
// this.setState({dataSource:this.props.dataSource});
}
componentDidMount(){
// this.props.navComponent.setNavItems({
// title: {
// component: (
//
// {this.props.title}
//
// ),
// event: function() {
// this.fetchData();
// }.bind(this)
// }
// }),
this.myfetchData();
}
onRefresh(){
this.myfetchData();
}
//数据查询.
myfetchData(){
this.setState({isLoading:true,isLoadingFail:false});
this.props.fetchData().then((responseData)=>{
this.setState({
isLoading: false,
isLoadingFail: false,
isHaveData: true,
// dataSource:this.state.dataSource.cloneWithRows(responseData),
});
},(error)=>{
AlertIOS.alert('没有数据');
this.setState({
isLoading: false,
isLoadingFail:true,
isHaveData:false,
});
});
}
render(){
// return this.renderLoadingView();
if (!this.state.isHaveData) {
return this.renderLoadingView();
}
return (
}
style={styles.listView}/>
);
}
pushInfo(index){
this.props.navigator.push({
title: 'New Page',
component:
});
}
renderLoadingView(){
if (this.state.isLoadingFail) {
return (
this.myfetchData()} style={styles.container} >
{'点击刷新'}
);
}else{
return(
{'正在刷新'}
)
}
}
renderMovieRow(sectionID, rowID, adjacentRowHighlighted){
return (
);
}
renderMovie(movie,sectionID, rowID, highlightRow){
return (
{this.pushInfo(rowID)}} style={styles.container} >
{movie.title}
);
}
}
const styles = StyleSheet.create({
container: {
flex:2,
flexDirection: 'column',
justifyContent: 'center',
alignItems: 'center',
backgroundColor: 'White',
},
welcome: {
fontSize: 20,
textAlign: 'center',
margin: 10,
},
instructions: {
textAlign: 'center',
color: '#333333',
marginBottom: 5,
},
title: {
fontSize: 15,
marginBottom: 8,
marginTop: 10,
marginLeft: 4,
marginRight: 4,
textAlign: 'left',
},
year: {
textAlign: 'center',
},
rightContainer: {
flex: 1,
},
topContainer:{
flex:1,
height : 30,
backgroundColor: 'LightGray',
},
thumbnail: {
width: 400,
height: 200,
},
listView: {
paddingTop: 0,
marginBottom: 44,
backgroundColor: 'LightGray',
},
navItem: {
flex: 1,
justifyContent: 'center',
alignItems: 'center'
},
// top{
// height:60,
// flex: 1,
// },
});
module.exports = MyListView;