使用Intent传值及回传值
简单传值
FirstActivity.java
1 2 3 4 5 6 7 8 | findViewById(R.id.button).setOnClickListener( new View.OnClickListener(){ @Override public void onClick(View v) { Intent intent = new Intent(FirstActivity. this , SecondActivity. class ); intent.putExtra( "extra_data" , "data" ); // 传字符串, 更多传值方法 startActivity(intent); } }); |
SecondActivity.java
1 2 3 4 5 6 7 8 9 10 11 12 | @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.activity_second); // 获取Intent对象 Intent intent = getIntent(); // 根据key获取value String extra_data = intent.getStringExtra( "extra_data" ); // 获取一个没有的可以 结果 null String extra_data2 = intent.getStringExtra( "extra_data2" ); Log.i(TAG, "onCreate: " + extra_data + extra_data2); } |
回传值:
修改FirstActivity.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | /** * 监听获取activity返回的数据 * @param requestCode 传入的请求码 * @param resultCode 处理结果码 * @param data intent数据 */ @Override protected void onActivityResult( int requestCode, int resultCode, Intent data) { switch (requestCode) { case 1 : if (resultCode == RESULT_OK) { String resultData = data.getStringExtra( "data_return" ); Log.i(TAG, "onActivityResult: " + resultData); } break ; default : } } |
修改SecondActivity.java
1 2 3 4 5 6 7 8 9 10 11 | button = (Button) findViewById(R.id.button2); button.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(); intent.putExtra( "data_return" , "hello FirstActivity" ); // 给上一个活动返回数据 setResult(RESULT_OK, intent); // 回调(FirstActivity.java中)onActivityResult方法 finish(); } }); |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义