如何从自定义startActivityForResult
开始listView
?
这是我的代码:
((Activity) context).startActivityForResult(intent, 100);
我应该在哪里放置onActivityResult
方法?
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
}
列表视图显示在我的MainActivity
中,所以我放置方法onActivityResult
的位置?在MainActivity
??
答案 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);