工作终于暂时告一段落,对于一个初学者来说,要不断地提升自己,不断努力!今天对自己说加油!
学习新知识,对于基础薄弱的我,从看别人的代码开始,一点点学习:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (data == null) {
return;
}
if (100 == requestCode) {
//99-增加成功
if (99 == resultCode) {
//此处省略当99 == resultCode的处理
}
}}
完全不知道protected void onActivityResult(int requestCode, int resultCode, Intent data)是什么意思,查阅一些资料后明白:此函数是配合public void startActivityForResult (Intent intent, int requestCode)和setResult(int resultCode, Intent data);一起使用的.
当我们跳转Activity时最常用的是:intent = new Intent(##Activity.this, Activity**.class);startActivity(intent);直接跳转,但是有的时候两个Activity,或者几个Activity之间需要交互,在ONEActivity操作完一系列动作后,可能需要通知TWOActivity更近一些列操作,在Activity中得到新打开Activity 关闭后返回的数据那么就需要:
ONEActivity:
startActivityForResult (Intent intent, int requestCode)
Intent intent = new Intent(OneActivity.this,TwoActivity.class);
//intent.putExtra("oprateType", "delete");
startActivityForResult(intent, 100);
intent :ONEActivity跳转TWOActivity的intent。
requestCode:startActivityForResult(intent, 100);
requestCode:标示符,以便通知onActivityResult根据requestCode区别操作
TWOActivity:
setResult(int resultCode, Intent intent)
//ONEActivity跳转TWOActivity后, TWOActivity会调用setResult将动作结束的结果通知ONEActivity,并跳转至ONEActivity:
Intent intent = new Intent(TwoActivity.this,OneActivity.class);
intent.putExtra("result","My name is linjiqin");
setResult(199, intent);
intent :TWOActivity跳转ONEActivity的intent
resultCode:标示符,以便通知onActivityResult根据resultCode区别操作
ONEActivity:
onActivityResult(int requestCode, int resultCode, Intent data)
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (data == null) {
return;
}
else{
String result= data.getExtras().getString("result");
}
if (100 == requestCode) {
//99-增加成功
if (99 == resultCode) {
//此处省略当99 == resultCode的处理
}
}}
requestCode:对应startActivityForResult中的requestCode
resultCode:对应setResult中的resultCode