gpt4 book ai didi

android - 为什么我不能使用 getFilesDir();在静态环境中?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:38:13 25 4
gpt4 key购买 nike

我到处寻找答案,每次看到其他人使用该方法时:

getFilesDir();

但是当我尝试以任何方式使用该方法时,尤其是:

File myFile = new File (getFilesDir();, filename );

Eclipse 只是说,“无法从类型 ContextWrapper 对非静态方法 getFilesDir 进行静态引用”

我正在尝试使用它来获取内部目录来为我的应用程序编写文件。

谢谢!

最佳答案

那是因为在静态方法中你没有得到类的对象,getFilesDir 不是静态方法,这意味着它只能通过类 Context 的对象访问。

所以您可以做的是将对象的引用存储在类的静态变量中,然后在静态方法中使用它。

例如:

static YourContextClass obj;

static void method(){
File myFile = new File (obj.getFilesDir(), filename );
}

您还必须在 onCreateMethod() 中存储对对象的引用

 obj = this;

最好的办法是

 static void method(YourContextClass obj){
File myFile = new File (obj.getFilesDir(), filename );
}

关于android - 为什么我不能使用 getFilesDir();在静态环境中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15784616/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com