Ich habe implementiert grid view
in reagieren native.It erhält Daten von JSON und zeigt an. Nun möchte ich auf die grid item
klicken und den Inhalt auf der Grundlage von Daten zur aktuellen Position von grid
anzeigen.Wie man mit Klick auf GridView reagieren native Android?
1
A
Antwort
2
Sie können mit onPress
Handler einem der Touchable-Komponenten verwenden. Für die Ex-TouchableHighlight: können Sie die den Navigator als Requisiten passieren, wie in renderScene Abschnitt des Beispiels unter
index.ios.js
import React, {
AppRegistry,
Component,
StyleSheet,
Text,
View,
TouchableHighlight,
Navigator
} from 'react-native';
import GridView from 'react-native-grid-view';
import Movie from './Movie.js';
import MovieDetail from './MovieDetail.js';
class ReactNativeGridViewTest extends Component {
constructor(props) {
super(props);
this.state = {
movies: ['hello', 'blabla', 'BatMan', 'SuperMan']
};
}
onHandleItemPress(item){
this.refs.navigator.push(
{id: 'detail',
data:item});
}
renderItem(item) {
return (<TouchableHighlight onPress= {this.onHandleItemPress.bind(this, item)}>
<View>
<Movie item={item}/>
</View>
</TouchableHighlight>);
}
renderScene(route,navigator){
switch(route.id){
case 'master': return (
<View style={styles.container}>
<GridView
items={this.state.movies}
itemsPerRow={3}
renderItem={this.renderItem.bind(this)}
/>
</View>)
case 'detail': return (<MovieDetail navigator={navigator} data={route.data}/>)
}
}
render() {
return (
<Navigator ref="navigator"
initialRoute={{id: 'master'}}renderScene={this.renderScene.bind(this)}/>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
welcome: {
fontSize: 20,
textAlign: 'center',
margin: 10,
},
instructions: {
textAlign: 'center',
color: '#333333',
marginBottom: 5,
},
});
AppRegistry.registerComponent('ReactNativeGridViewTest',() => ReactNativeGridViewTest);
Movie.js
import React, {
AppRegistry,
Component,
StyleSheet,
Text,
View,
TouchableHighlight,
} from 'react-native';
export default class Movie extends Component{
render(){
return (<View style={{width:40, height:40, margin: 20, backgroundColor:'red'}}>
<Text>{this.props.item}</Text>
</View>)
}
}
gezeigt
MovieDetail
import React, {
AppRegistry,
Component,
StyleSheet,
Text,
View,
TouchableHighlight,
} from 'react-native';
export default class MovieDetail extends Component{
render() {
return (<View style={styles.container}>
<TouchableHighlight onPress={()=> this.props.navigator.pop()}>
<Text>Go Back </Text>
</TouchableHighlight>
<View style={{width:40, height:40, margin: 20, backgroundColor:'red'}}>
<Text>{this.props.data}</Text>
</View>
</View>);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
welcome: {
fontSize: 20,
textAlign: 'center',
margin: 10,
},
instructions: {
textAlign: 'center',
color: '#333333',
marginBottom: 5,
},
});
Sie können auch das Arbeits Beispiel Besuche bei https://github.com/agenthunt/react-native-scratchpad/tree/master/ReactNativeGridViewTest
Verwandte Themen
- 1. Erstellen modal auf Klick reagieren-native Android
- 2. Native onPress auf Android reagieren
- 3. Reagieren native Android moveTaskToBack?
- 4. Reagieren Native Android GeoLocation
- 5. Reagieren Native Android & Genymotion
- 6. reagieren-native anpassen android Symbolleiste
- 7. Reagieren Native Android Webview Video
- 8. Native lokale Bilder mit URI auf Android reagieren
- 9. Reagieren Native Android Debug Keystore
- 10. Reagieren Native Android-Setup-Details
- 11. Apple Watch auf reagieren-native
- 12. Reagieren + Reagieren Native Starter-Kit
- 13. Native Android Splash Screen reagieren
- 14. wie native Taste auf volle Breite reagieren
- 15. Reagieren native App mit .setAcceptThirdPartyCookies
- 16. Wie reagieren native funktioniert?
- 17. Reagieren Native-Betrieb verboten
- 18. Reagieren ID-Wert auf Klick
- 19. Textauswahl reagieren-native
- 20. Deaktivieren Sie eine bestimmte Schaltfläche beim Klick in reagieren native
- 21. Reagieren Native Android Tastatur Highlight Text Problem
- 22. reagieren native Callback
- 23. reagieren-native AutoComplete Texteingabe
- 24. Wie zu erwarten, Schlüsselwort auf reagieren native?
- 25. Hintergrund Geolocation reagieren native
- 26. reagieren-native android genymotion fehler java.util.concurrent.ExecutionException:
- 27. Reagieren native Android-Statusleiste Icons Farbe
- 28. BackAndroid nicht aushängen - Reagieren Native (Android)
- 29. reagieren-native Lauf android Fehler ohne Fehlermeldung
- 30. Reagieren Native Sqlite für Android-Konfiguration
Dies ist die view.Grid Ansicht nicht Rendering ist nicht appearing.And auch, wie der Navigator Bezug auf Movi E-Klasse übergeben. –
Danke für das Update, aber beim Ausführen von es Render Item = {this.renderItem.bind (this)} bindet es nur an Film-Bildschirm.Nach Klick auf Element auf Film-Bildschirm ist es nicht zu Film-Detail-Bildschirm., Rendern wieder Film-Bildschirm in meinem Fall –
Können Sie Ihren vollständigen Code irgendwo teilen? Hast du das Arbeitsbeispiel unter https://github.com/agenthunt/react-native-scratchpad/tree/master/ReactNativeGridViewTest ausprobiert? –