我有一些列表视图,其中包含一些可检查的cetegories。我想用startActivityForResult
开始此活动,当用户返回初始活动时,此活动将开始创建已选择的类别并将其ID存储在列表中。问题是我应该在哪里调用onResult
方法。我的第一个想法是这样说:
@Override
protected void onPause() {
super.onPause();
if(isFinishing()){
onResult()....call here
}
}
但是,正如我所知,isFinishing()
不是确保活动完成的最佳方式,而且我们无法确定何时会调用它。当用户完成检查他的类别时,有没有更好的方法来返回结果?我的意思是每次用户做出选择时我都无法发送onResult
。
答案 0 :(得分:0)
在选择过程中调用setResult(int resultCode, intent data)
并覆盖之前活动中的onActivityResult。
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
//do something here.
}
我希望这可以帮助你...... :)
答案 1 :(得分:0)
当您想要识别活动的结果时,您不必致电onResult()
,而是在用户做出选择时使用setResult
,当您的活动结束时,最后一次设置结果将传播回为您的活动开始的活动。
代码应如下所示:
onItemSelected(){ // or onClick
getItem();
setResult();
}