有没有办法在非Activity类中使用openFileOutput()
方法?
我有私有类extends AsyncTask
,我想在onPostExecute()
中执行该方法,但我不能这样做,因为我的IDE显示以下错误:
对于类型,未定义openFileOutput(String,int)方法 FunkcjeAPI.Logowanie
有什么替代方案?我尝试使用getActivity().openFileOutput()
,但后来我看到同样的错误。
有什么建议吗?
答案 0 :(得分:2)
为AsyncTask创建一个构造函数并传入上下文,以便以后可以使用它。
private class MyTask extends AsyncTask<Void, Void, Long> {
private Context context;
public MyTask (Context context) {
this.context = context;
}
// other code...
@Override
protected void onPostExecute(Long result) {
// use context here
}
}
然后,执行任务:
new MyTask(this).execute();
答案 1 :(得分:1)
我通过添加到AsyncTask
Context
对象的构造函数并输入以下内容来解决我的问题:
context.openFileOutput();