java怎么返回上一部,如何返回数据给上一个活动
返回上一个活动只需要按以下Back键就可以了,并且使用startActivityForResult(),这个方法也是用于启动活动的,而且会返回一个结果给上一个活动。
startActivityForResult()方法接收两个参数,第一个参数是Intent,第二个参数是请求码,用于在之后回调中判断数据的来源。
以下为例子:
首先你需要两个可以互传的Activity ,这里,我们以MainActivity和SecondActivity为例:
MainActivity的Layout如下:<?xml version="1.0" encoding="utf-8"?>
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#ffffff"
tools:context=".MainActivity">
android:id="@+id/edt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="top"
android:minLines="3"
android:maxLines="3"
android:textColor="#000000"
android:textSize="20dp"
android:hint="请输入.."
android:textColorHint="#707070"/>
android:id="@+id/btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="点击"
android:textSize="15dp"
android:textColor="#000000"/>
android:id="@+id/txt_first"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="变变变"
android:textColor="#000000"
android:textSize="20dp"
android:layout_marginTop="10dp"/>
SecondActivity的Layout如下:<?xml version="1.0" encoding="utf-8"?>
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffffff"
android:orientation="vertical"
tools:context=".SecondActivity">
android:id="@+id/txt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20dp"
android:textColor="#000000"/>
android:id="@+id/btn_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20dp"
android:textColor="#000000"
android:text="点吧"
android:layout_marginTop="10dp"/>
接着,我们要让SecondActivity在点击了按钮btn_1之后返回数据到MainActivity:import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.SearchView;
import android.widget.TextView;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
public class MainActivity extends AppCompatActivity {
private EditText edt;
private Button btn;
private TextView txt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
edt = findViewById(R.id.edt);
btn = findViewById(R.id.btn);
txt = findViewById(R.id.txt_first);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String data = edt.getText().toString() ;
Intent intent = new Intent(MainActivity.this,SecondActivity.class);
intent.putExtra("extra_data",data);
startActivityForResult(intent,1);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch(requestCode){
case 1:
if(resultCode == RESULT_OK){
String returnedData = data.getStringExtra("return_data");
txt.setText(returnedData);
}
break;
default:
}
}
}
然后是SecondActivity的代码:import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class SecondActivity extends AppCompatActivity {
private TextView txt2;
private Button btn_2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
Intent intent = getIntent();
String data= intent.getStringExtra("extra_data");
txt2 = findViewById(R.id.txt);
btn_2=findViewById(R.id.btn_1);
txt2.setText(data);
btn_2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(SecondActivity.this,MainActivity.class);
intent.putExtra("return_data","This is the return of Second Activity.");
setResult(RESULT_OK,intent);
finish();
}
});
}
}
java怎么返回上一部,如何返回数据给上一个活动相关推荐
- 小程序获取上一页的数据修改上一个页面的数据
小程序获取上一页的数据修改上一个页面的数据 详情地址http://www.xiaoshu168.com/wxapplet/233.html
- 网页前端套java数据_【java】网页/移动前端需要的数据,最好一个接口包含所有数据么?...
前端同事告诉我一个接口需要包含所有的数据,理由是多接口请求,前端逻辑会很复杂,同时如果移动网络有问题的话,容易接口部分成功部分失败,前端处理这些异常情况很费劲,我们使用restful接口,这样的话感觉 ...
- 返回数据给上一个活动
既然可以传递数据给下一个活动,那么能不能够返回数据给上一个活动呢?答案是肯定的.不过不同的是,返回上一个活动只需要按一下Back键就可以了,并没有一个用于启动活动的Intent来传递数据.通过查阅文档 ...
- ckeditor富文本编辑器的使用和图片上传,复制粘贴图片上传
项目开发需要用到在线编辑和图片上传,最终讨论使用ckeditor,原因就是其丰富的API.考虑到最新版本ckeditor5可能不够稳定,我们选择使用ckedtior4.9.2版本.官网链接:ckedi ...
- Java框架-SpringMVC的应用(json数据交互、控制器方法返回值、文件上传)
1. 搭建SpringMVC开发环境 1.1 创建项目,添加依赖 <?xml version="1.0" encoding="UTF-8"?> &l ...
- android intent参数是上次的结果,【Android】7.0 Intent向下一个活动传递数据、返回数据给上一个活动...
1.0 可以利用Intent吧数据传递给上一个活动,新建一个叫"hellotest01"的项目. 新建活动FirstActivity,勾选"Generate Layout ...
- 关于使用Java后台导入excel文件,读取数据后,更新数据库,并返回数据给到前端的相关问题总结
在之前的项目中,使用到了Java后台读取excel文件数据的功能点,本想着该功能点已经做过了,这一类的应该都大差不离,不过在刚结束的一个项目中,现实给我深深的上了一课,特此编写此片博客,以作记录,并给 ...
- Java服务器部署基于OpenCV的C++图像处理项目(三)图片上传并返回处理图
Java服务器部署基于OpenCV的C++图像处理项目(三)图片上传并返回处理图 1.上传图片并返回灰度图功能 由于使用的springboot开发,直接写一个upload接口供图片上传,以下是spri ...
- 上传文件返回数据提示下载
摘要: 最近项目中出现上传文件返回的json数据会被提示下载,只有在ie10+中才会出现这个问题.前端使用jQuery的插件ajaxForm提交表单,后台返回的数据格式为json.代码如下: 后端P ...
最新文章
- 2.27 MapReduce Shuffle过程如何在Job中进行设置
- 统计学原理-----概率分布
- web自动化测试之百度经验-HTTP层面的Web Service自动化测试
- Eclipse jar包打不进apk
- 音视频技术开发周刊 | 199
- access month函数用法_学会了这7个EXCEL日期函数技巧,老板再让你加班,你找我!...
- BugkuCTF-Reverse题NoString
- Mysql中用between...and...查询日期时注意事项
- WPF DataGrid显示图片的一种方法
- java 继承 this_java多重继承的this属于谁
- Windows注册表内容详解
- java输入身高体重计算体脂率_追求健康的体脂率,比追求体重数更有意义:一个公式教你计算...
- Python爬取百度图片(高清原图)
- Activiti目录(五)驳回、重新发起、取消流程
- Android webView 无法加载微信公众号图片
- php以大写字母分割,js按大写字母拆分字符串
- 直角三角形斜边用计算机怎么算,直角三角形斜边怎么算 计算方法有哪些
- QT应用编程: 基于FFMPEG设计的流媒体播放器(播放rtmp视频流)
- Android去除对话框边距,去除TextView默认内边距
- PostgreSQL 从cmin/cmax到combo cid
热门文章
- Profibus-DP智能从站开发过程中若干核心问题的探讨
- centos6.5 mysql登陆_centos6.5下mysql无法登陆的问题
- 传参:@RequestParam @RequestBody @PathVariable的作用
- stm32呼吸灯程序_STM32裸机开发基础篇02点亮LED
- 从html富文本中提取纯文本
- P2617 Dynamic Rankings 动态主席树
- Django Form
- P2424 约数和 真丶除法分块
- 基于socket编程的多人聊天室
- progressDialog 为什么设置了setProgress()方法无反应?