我有一个带有实现Serializable
的类ABCABC
类是一个报警类,所以使用一系列功能,我只想从SD卡上传图像,到那里我需要在GRIDVIEW
中查看图像,然后用户需要选择image,这就是过程我有一个叫getImage()
的方法来从sd卡中获取图像。。
public void getImage() {
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Picture"),1);
}
获取错误The method startActivityForResult(Intent, int) is undefined for the type ABC
我该如何纠正?
接受非活动类中的context
并将其强制转换为Activity
private Context context;
private Activity activity;
public Example(Context context) {
this.context = context;
this.activity = (Activity) context;
}
然后把它称为你想要的
activity.startActivityForResult()
如果您想稍后得到结果,请在非活动类中定义一个用户定义的onActivityResult()
public void onActivityResult(int requestCode, int responseCode,
Intent intent) {}
并将活动类的结果传递给用户定义的onActivityResult()
方法
@Override
protected void onActivityResult(int requestCode, int responseCode,
Intent intent) {
example.onActivityResult(requestCode, responseCode, intent);
}
短版本:startActivityForResult()
仅在活动或片段内部可用。
如果你发布更多关于你正在努力实现的细节,我可能会给你一个更有用的答案