0

我有一个列表视图,其中包含一些可检查的 cetegories。我想开始此活动,startActivityForResult当用户返回初始活动时,此活动将开始创建已选择的类别并将其 ID 存储在列表中。问题是我应该在哪里调用该onResult方法。我的第一个想法是这样说:

@Override
protected void onPause() {
    super.onPause();
    if(isFinishing()){
      onResult()....call here       
    }
}

但是,据我所知,这isFinishing()并不是确保活动完成并且我们无法确定何时调用它的最佳方式。当用户检查完他的类别后,有没有更好的方法来返回结果?我的意思是我不能onResult每次用户做出选择时都发送。

4

2 回答 2

0

在选择期间调用setResult(int resultCode, intent data)并覆盖您之前活动中的 onActivityResult。

public void onActivityResult(int requestCode, int resultCode, Intent intent) {

  //do something here.

}

我希望这可以帮助你... :)

于 2013-02-26T11:33:53.090 回答
0

onResult()当您想识别活动的结果时,您不必调用,而是setResult在用户进行选择时使用,并且当您的活动完成时,最后设置的结果将传播回启动您的活动以获得结果的活动。

代码应如下所示:

onItemSelected(){ // or onClick
     getItem();
     setResult();
}
于 2013-02-26T11:35:13.863 回答