自定义ListView上的StartActivityForResult

时间:2017-12-01 08:39:58

标签: java android listview adapter

如何从自定义startActivityForResult开始listView? 这是我的代码:

((Activity) context).startActivityForResult(intent, 100);

我应该在哪里放置onActivityResult方法?

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

列表视图显示在我的MainActivity中,所以我放置方法onActivityResult的位置?在MainActivity ??

3 个答案:

答案 0 :(得分:1)

您应该在MainActivity中覆盖onActivityResult。当第二个Activity完成时,它将被调用。阅读此链接:https://developer.android.com/training/basics/intents/result.html?hl=en

class MainActivity extends ... {
...
  @Override
  public void onActivityResult(int requestCode, int resultCode, Intent intent) {
    super.onActivityResult(requestCode, resultCode, intent);
  }
...

答案 1 :(得分:1)

我假设您的活动名称为MainActivity。那你应该这样做

((MainActivity) context).startActivityForResult(intent, 100);

在您的MainActivity中,覆盖onActivityResult。

@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode==100){
//do your things
}
}

答案 2 :(得分:1)

您应该在MainActivity中覆盖onActivityResult(int requestCode,int resultCode,Intent data)。如果您使用活动上下文从MainActivity调用适配器,则可以删除不需要的活动转换。

适配器代码可以更改为

context.startActivityForResult(intent, 100);