读书人

有返回值的startActivity-startActivi

发布时间: 2012-06-26 10:04:13 作者: rapoo

有返回值的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);??
  • ????????}??
  • ????}?

    ?

    ?

    ?

    ?

  • 读书人网 >移动开发

    热点推荐