Android Java 页面跳转传值
跳转ainActivity2传递数据
获取MainActivity传递的数据
MainActivity2获取MainActivity传递的数据。
跳转MainActivity2传递并返回数据
关闭MainActivity2页面返回数据
获取MainActivity2返回的数据
跳转多个页面返回传递数据
MainActivity 跳转 MainActivity2 再跳转MainActivity3, 再回到MainActivity并传递数据。
设置MainActivity 启动模式位 singleTask:
从 MainActivity3 返回到 MainActivity:
MainActivity的 onNewIntent 函数被执行:
使用adb命令查看任务栈中的Activity 参考CSDN
adb shell dumpsys activity activities
当 MainActivity 设置启动模式为singleTask时,从 MainActivity3 回到 MainActivity:
MainActivity3关闭前:
MainActivity3关闭后:
当 MainActivity 采用默认的启动模式时,从 MainActivity3 回到 MainActivity:
MainActivity3关闭前:
MainActivity3关闭后:
Android Kotlin 页面跳转传值
定义实现序列化的Bean类SerializableBean
定义实现序列化的Bean类SerializableBean
Gradle 引入插件 kotlin-parcelize
跳转ainActivity2传递数据
获取MainActivity传递的数据
MainActivity2获取MainActivity传递的数据。
跳转MainActivity2传递并返回数据
关闭MainActivity2页面返回数据
获取MainActivity2返回的数据
跳转多个页面返回传递数据
MainActivity 跳转 MainActivity2 再跳转MainActivity3, 再回到MainActivity并传递数据。
设置MainActivity 启动模式位 singleTask:
从 MainActivity3 返回到 MainActivity:
MainActivity的 onNewIntent 函数被执行:
IOS Object-c 页面跳转传值 参考简书
创建ViewController
创建ViewController1
创建UserBean类
ViewController向Viewcontroller1传值
ViewController1 打印ViewController传递到值
ViewController1关闭传值到ViewController
声明协议和代理方法, 设置代理(ARC用weak,MRC用assign)
让代理执行代理方法(代理传值)
签订代理协议
指定代理, ViewController1关闭时,传递值到ViewController
实现代理方法(结果)
跳转多个页面后直接回到ViewController
IOS Swift 页面跳转传值 Object-c转Swift
创建ViewController
将ViewController设置为根视图
创建ViewController1
创建UserBean类
ViewController向Viewcontroller1传值
ViewController1 打印ViewController传递到值
ViewController1关闭传值到ViewController
声明协议和代理方法
让代理执行代理方法(代理传值)
签订代理协议
指定代理, ViewController1关闭时,传递值到ViewController
实现代理方法(结果)
跳转多个页面后直接回到ViewController
Android Compose 页面跳转传值
创建工程新建 ComponentActivity
创建RouteConfig
RouteConfig是用于方便管理路由地址和路由参数等的配置文件:
添加导航依赖
创建PageOne
创建PageTwo
创建PageThree
创建PageFour
创建管理应用内导航组件
PageOne传值到PageTwo
PageTwo接受参数
PageFour返回PageOne使用ViewModel回传参数
Flutter页面跳转传值
创建PageOne页面
创建pageTwo页面
创建PageThree页面
配置路由集合
PageOne向PageTwo传值
PageTwo获取传参
PageTwo关闭传参
PageOne获取PageTwo传递到参数
PageThree回到PageOne传递参数
Flutter Getx 页面跳转传值 参考CSDN
添加 get 依赖
创建 MyHomePage
创建 MyPageTwo
创建 MyPageThree
配置路由地址
Get.toNamed MyPageOne跳转PageTwo传值
Get.arguments 获取MyPageOne传递的值
Get.back MyPageTwo关闭返回值
MyHomePage 获取返回值
Get.offAllNamed 关闭所有路由并跳转到MyHomePage
鸿蒙 页面跳转传值 UIAbility内页面间的跳转
创建 Index.ets
创建 TwoPage.ets
创建 ThreePage.ets
main_pages.json 配置页面的路径信息
Index跳转TwoPage传值
TwoPage页面关闭传值
ThreePage 页面关闭传值
ReactNative 页面跳转传值 参考React Navigation
安装相关依赖
yarn add @react-navigation/native@next
yarn add @react-navigation/native-stack@next
导入需要依赖组件
import * as React from 'react';
import { View, Text ,Button,} from 'react-native';
import { NavigationContainer, useNavigation,createStaticNavigation,} from '@react-navigation/native';
import { createNativeStackNavigator } from '@react-navigation/native-stack';
创建页面配置导航器
import {AppRegistry} from 'react-native';
import {name as appName} from './app.json';
import * as React from 'react';
import { View, Text ,Button,} from 'react-native';
import { NavigationContainer, useNavigation,createStaticNavigation,} from '@react-navigation/native';
import { createNativeStackNavigator } from '@react-navigation/native-stack';
function PageOne({route}) {
const navigation = useNavigation();
// Use an effect to monitor the update to params
React.useEffect(() => {
if (route.params?.post) {
// Post updated, do something with `route.params.post`
// For example, send the post to the server
alert('New post: ' + route.params?.post);
}
}, [route.params?.post]);
return (
<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
<Text style={{lineHeight:50,textAlign:'center'}}>Page One</Text>
<Button
title="跳转到PageTwo"
onPress={() => {
navigation.navigate('PageTwo', {
itemId: 86,
otherParam: 'anything you want here',
});
}}
/>
<Text style={{ margin: 10 }}>其他页面返回的数据: {route.params?.post}</Text>
</View>
);
}
function PageTwo({ route }) {
const navigation = useNavigation();
const { itemId, otherParam } = route.params;
const [postText] = React.useState('PageTwo返回的数据');
return (
<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
<Text>Details Screen</Text>
<Text>itemId: {JSON.stringify(itemId)}</Text>
<Text>otherParam: {JSON.stringify(otherParam)}</Text>
<Button
title="返回PageOne"
onPress={() => {
// Pass params back to home screen
navigation.popTo('PageOne', { post: postText });
}}
/>
<Button
title="跳转到PageThree"
backgroundColor = {'blue'}
style={{ width: 200 }}
onPress={() => {
navigation.navigate('PageThree',);
}}
/>
</View>
);
}
function PageThree({ route }) {
const navigation = useNavigation();
const [postText] = React.useState('PageThree返回的数据');
return (
<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
<Button
title="返回PageOne"
onPress={() => {
// Pass params back to home screen
navigation.popTo('PageOne', { post: postText });
}}
/>
</View>
);
}
const Stack = createNativeStackNavigator();
export default function App() {
return (
<NavigationContainer>
<RootStack />
</NavigationContainer>
);
}
function RootStack() {
return (
<Stack.Navigator initialRouteName="PageOne">
<Stack.Screen name="PageOne" component={PageOne} />
<Stack.Screen name="PageTwo" component={PageTwo} />
<Stack.Screen name="PageThree" component={PageThree} />
</Stack.Navigator>
);
}
AppRegistry.registerComponent(appName, () => App);