我怎样才能在针对android的react-native中重新设置上一个活动?
我的想法是:
1在index.android.js中设置_navigate
// ???????
var _navigator;
BackAndroid.addEventListener('hardwareBackPress', function() {
if (_navigator && _navigator.getCurrentRoutes().length > 1) {
_navigator.pop();
return true;
}
return false;
});
Run Code Online (Sandbox Code Playgroud)
2在RouteMapping中传递导航器:
RouteMapper: function(route, navigationOperations, onComponentRef) {
_navigator = navigationOperations;
if (route.name === 'detail') {
// ?????
return (
<DetailScreen
navigator={navigationOperations}
question={route.question} />
);
} else if (route.name == 'front') {
// ??
return(
<FrontScreen
navigator={navigationOperations}
/>
);
}
},
Run Code Online (Sandbox Code Playgroud)
3在列表视图中设置推送
gotoDetail: function(question: Object) {
this.props.navigator.push({
id: question.question_id,
name: 'detail',
question: question
})
Run Code Online (Sandbox Code Playgroud)
但它不起作用.当我点击Android中的后退按钮时,它会跳出应用程序?
我怎样才能做到这一点?
或者任何人都能举一些例子?
小智 3
您需要将以下代码添加到<您的项目>/android/app/src/main/java/com/<您的项目>/MainActivity.java:
@Override
public void onBackPressed() {
if (mReactInstanceManager != null) {
mReactInstanceManager.onBackPressed();
} else {
super.onBackPressed();
}
}
Run Code Online (Sandbox Code Playgroud)
使用 React Native 0.12 创建的项目将正常运行。
有关更多信息,请参阅 Github 上的此问题https://github.com/facebook/react-native/issues/3223。
| 归档时间: |
|
| 查看次数: |
3090 次 |
| 最近记录: |