Intent
来源:互联网 发布:vnc mac版远程控制软件 编辑:程序博客网 时间:2024/05/17 05:13
一、不需要返回值的跳转
Intent intent=new Intent();intent.setClass(目前的acitivy.this, 目标activity.class);startActivity(intent);
二、需要返回值的跳转
Intent intent=new Intent();intent.setClass(目前的acitivy.this, 目标activity.class);startActivity(intent);startActivityForResult(intent, 状态值(int类型));状态值作为接受目标返回值的验证。requestCode 接收返回的状态值resultCode :RESULT_OK RESULT_CANCELED 可以自己赋值,按返回键时,系统默认赋值为:RESULT_CANCELED目标activity 关闭才能返回请求activity
例如:
1、请求页面
public class MainActivy extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Intent intent=new Intent(); intent.setClass(MainActivy.this, ReceiveMSG.class); startActivityForResult(intent, 0); } protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub super.onActivityResult(requestCode, resultCode, data); if (requestCode==0) { if (resultCode==RESULT_OK) { Toast.makeText(this, "Send SMS RESULT_OK", Toast.LENGTH_SHORT).show(); }else if (resultCode==RESULT_CANCELED) { Toast.makeText(this, "result cancel", Toast.LENGTH_SHORT).show(); }else { Toast.makeText(this, resultCode, Toast.LENGTH_SHORT).show(); } }else { Toast.makeText(this, "requsetcode not 0", Toast.LENGTH_SHORT).show(); } }}
2、接收返回值界面
public class ReceiveMSG extends Activity{ protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); ReceiveMSG.this.setResult(RESULT_OK); this.finish(); }}
====================
Intent in = new Intent(this, Activity.class); in.putExtra("mark", ""); in.putExtra("group_id", ""); startActivity(in); Log.i("ggsdfads", "finish"); finish();
Log ggsdfads 日志会打
finish();会执行吗??
如果finish()执行 onDeatory()也会执行吗
if (getIntent().getExtras().get("mark").equals("yes")) { if (!getIntent().getExtras().getString("status") .equals("aa")) { Intent newIntent = new Intent(this, NewActivity.class); newIntent.putExtra("id", getIntent() .getExtras().get("id").toString()); startActivity(newIntent); finish(); } }
A 跳至B(中间)跳至C ,C又需要跳至B
如果需要携带的参数多,可用增加一个Tag 用于判断是那个Activity跳过来的 ,如果不这样可能会报空指针异常,因为getIntent() 有可能get之前的数据
0 0
- intent
- Intent
- Intent
- Intent
- intent
- Intent
- intent
- Intent
- Intent
- Intent
- Intent
- Intent
- Intent
- intent
- Intent
- intent
- Intent
- intent
- Android SharedPreferences一个很好的封装类
- HTTP协议
- struts2中的跳转详解 ----“请求转发”和“重定向”之间的区别
- 操作系统概念(第十一章) 文件系统实现
- 选择排序-二元选择排序
- Intent
- Android NDK中数据类型传递使用
- struts2文件上传/下载(附源代码)
- 记录对String.format(Formatter().format())方法的总结
- The Java Programming Language4th读书笔记-第二章 类与对象
- KeUserModeCallback用法详解
- FragmentTransition
- quick cocos 截屏并保存
- C++随机数