5
どのようにしてアンドロイドの反応ネイティブの最後のアクティビティに戻ることができますか?どのようにしてアンドロイドの反応ネイティブの最後のアクティビティに戻ることができますか?
私の考え方は次のとおりです。RouteMappingでindex.android.jsで
1セット_navigate
// 设置回退的堆栈
var _navigator;
BackAndroid.addEventListener('hardwareBackPress', function() {
if (_navigator && _navigator.getCurrentRoutes().length > 1) {
_navigator.pop();
return true;
}
return false;
});
2パス・ナビゲーター:リストビューの
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}
/>
);
}
},
3セットプッシュ
gotoDetail: function(question: Object) {
this.props.navigator.push({
id: question.question_id,
name: 'detail',
question: question
})
しかし、それは動作しません。 Androidで戻るボタンをクリックすると、アプリから飛び出しますか?
どうすればいいですか?
誰かが例を挙げることができますか?で作成した
@Override
public void onBackPressed() {
if (mReactInstanceManager != null) {
mReactInstanceManager.onBackPressed();
} else {
super.onBackPressed();
}
}
プロジェクトは、ネイティブリアクト:
私が見つけたいくつかのちょっとした問題:反応したネイティブのnpmバージョンを更新しても、initを実行するか、手動でMainActivityを更新する必要があります。これはデバイスに展開する必要があります.JSの自動更新ではこれが選択されません。 – ooolala
私はこのコードを追加しましたが、私のプロジェクトは実行されません。追加した後、ターミナルでnpmコマンドを実行するはずですか?ありがとう –
@Stefan Klasenこんにちは、なぜ私はこのコードを追加すると "ReactInstanceManagerがReactActivityにプライベートアクセスを持っています"というエラーが出るのですか? – TeodorKolev