首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

有返回值的startActivity-startActivityForResult()

2012-06-26 
有返回值的startActivity---------startActivityForResult()1 从one Activity跳到 two Activity:?startAct

有返回值的startActivity---------startActivityForResult()

1 从one Activity跳到 two Activity:

?

startActivity(new intent(this,two.class));

?

但是我们想在two里加个按钮,当点击时就返回到原来的one中,

?

这时我们当然可以在点击事件中写:

?

startActivity(new intent(this,one.class));

?

但是我们还有另一种方法:

?

从one Activity跳到 two Activity:

?

startActivityResult(new intent(this,two.class),1);

?

1 是用来标记是否是这个startActivityResult的返回值的,一般情况下如果只有一个startActivityResult,没有什么作用,但是如果我们one中有两个startActivityResult,我们可以用1,2......来区分是那个startActivityResult的返回值,确定这个返回结果是谁返回的。

?

我们跳到two中了,在two里的按钮的点击事件中返回到one:

?

?this.setResult(RESULT_OK);

? this.finish();

?

这样把RESULT_OK这个值返回给了one,在one的

?protected void onActivityResult(int requestCode, int resultCode, Intent data) {}

中处理:

? ? @Override

? ? protected void onActivityResult(int requestCode, int resultCode, Intent data) {

? ? ? ? super.onActivityResult(requestCode, resultCode, data);

? ? ? ? if (resultCode==RESULT_OK&&requestCode==1) {

?

? ? ? ? ? ? ? //要做的事。

?

? ? ? ? }

? ? }

?

2 我们想把数据从one带到two,再从two带到one:

1 ---->2; 1中:

Intent?intent =?"second");??

  • ??????????????
  • ????????????updateText(string);??
  • ????????}??
  • ????}?

    ?

    ?

    ?

    ?

  • 热点排行