startActivityForResult和setResult
来源:互联网 发布:恐怖小说 知乎 编辑:程序博客网 时间:2024/06/08 09:58
通过startActivityForResult和setResult获得返回值
startActivityForResult
如下是一个例子:
button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MainActivity.this,OtherActivity.class); intent.putExtra("first",first.getText().toString()); intent.putExtra("second",second.getText().toString()); startActivityForResult(intent, requestCode); } });
其中startActivityForResult
的两个参数分别是,获得传递的意图以及确定返回值是哪一个方法发起的。
同时必须声明onActivityResult
方法对返回的值进行处理。
protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(resultCode == RESULT_OK){ if(requestCode == 1){ int three = Integer.parseInt(data.getStringExtra("result")); result.setText(String.valueOf(three)); } }else{ result.setText("结果错误"); } // result.setText("dasdf"); Toast.makeText(this,"ceshiyong",Toast.LENGTH_SHORT).show(); }
其中三个参数的含义:
1. requestCode
这个是intent
发起类中确定的参数用来确定是哪个方法发起的
2. resultCode
这个是setResult
返回的已确定是哪个类返回的参数
3. data
这个是setResult
返回的参数
setResult
例子如下:
button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(OtherActivity.this,MainActivity.class); intent.putExtra("result",String.valueOf(editText.getText())); //startActivity(intent); setResult(RESULT_OK,intent); finish(); } });
需要注意的是在结束后一定要finish()
结束这个Activity
1 0
- startActivityForResult和setResult详解
- startActivityForResult startActivity 和 setResult
- startActivityForResult和setResult详解
- startActivityForResult和setResult详解
- startActivityForResult和setResult详解
- startActivityForResult和setResult
- startActivityForResult和setResult详解
- startActivityForResult和setResult详解
- startActivityForResult和setResult详解
- startActivityForResult和setResult详解
- startActivityForResult和setResult详解
- startActivityForResult和setResult详解
- startActivityForResult和setResult详解
- startActivityForResult和setResult详解
- startActivityForResult和setResult详解
- startActivityForResult和setResult详解
- startActivityForResult和setResult详解
- startActivityForResult和setResult详解
- C/C++编译出现error: stray ‘\342’ in program
- poj3921.Destroying the bus stations( 迭代加深搜索 && BFS )
- Java中的private、protected、public和default的区别
- Android Studio + Genymotion安卓模拟器打造高效安卓开发环境
- lintcode 木材加工
- startActivityForResult和setResult
- Spring配合接口实现解耦原理
- Android GPS学习笔记(1)—系统架构
- no projects are available for deployment to this server
- iOS第三方框架---AFNetWorking详解
- 十二、中国股市的特点
- OC基础知识 -- 常见类的一些方法
- overflow属性(实现超出边框点的部分隐藏)
- ERROR与EXCEPTION的区别