ABC 类型未定义方法 startActivityForResult(Intent, int)
The method startActivityForResult(Intent, int) is undefined for the type ABC
我有一个 class ABC 和工具 Serializable
ABC
class 是一个警报 class 所以使用一堆功能,我只是想从 SD 卡上传图像,我需要在 GRIDVIEW
中查看图像然后用户需要到select的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
我该如何纠正?
简短版本:startActivityForResult()
只能从 activity 或片段中获得。
如果您post更详细地了解您想要实现的目标,我可能会给您更有帮助的答案
接受非activity里面的context
class 并把它转换成Activity
private Context context;
private Activity activity;
public Example(Context context) {
this.context = context;
this.activity = (Activity) context;
}
然后随心所欲地调用它
activity.startActivityForResult()
如果您想稍后自己获得结果,请在非 activity class
中定义一个用户定义的 onActivityResult()
public void onActivityResult(int requestCode, int responseCode,
Intent intent) {}
并将 activity class 的结果传递给用户定义的 onActivityResult()
方法
@Override
protected void onActivityResult(int requestCode, int responseCode,
Intent intent) {
example.onActivityResult(requestCode, responseCode, intent);
}
我有一个 class ABC 和工具 Serializable
ABC
class 是一个警报 class 所以使用一堆功能,我只是想从 SD 卡上传图像,我需要在 GRIDVIEW
中查看图像然后用户需要到select的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
我该如何纠正?
简短版本:startActivityForResult()
只能从 activity 或片段中获得。
如果您post更详细地了解您想要实现的目标,我可能会给您更有帮助的答案
接受非activity里面的context
class 并把它转换成Activity
private Context context;
private Activity activity;
public Example(Context context) {
this.context = context;
this.activity = (Activity) context;
}
然后随心所欲地调用它
activity.startActivityForResult()
如果您想稍后自己获得结果,请在非 activity class
中定义一个用户定义的onActivityResult()
public void onActivityResult(int requestCode, int responseCode,
Intent intent) {}
并将 activity class 的结果传递给用户定义的 onActivityResult()
方法
@Override
protected void onActivityResult(int requestCode, int responseCode,
Intent intent) {
example.onActivityResult(requestCode, responseCode, intent);
}