有没有办法在非Activity类中使用openFileOutput()方法?

时间:2013-08-01 12:45:32

标签: android file-io android-activity

有没有办法在非Activity类中使用openFileOutput()方法?

我有私有类extends AsyncTask,我想在onPostExecute()中执行该方法,但我不能这样做,因为我的IDE显示以下错误:

  

对于类型,未定义openFileOutput(String,int)方法   FunkcjeAPI.Logowanie

有什么替代方案?我尝试使用getActivity().openFileOutput(),但后来我看到同样的错误。

有什么建议吗?

2 个答案:

答案 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();