为了账号安全,请及时绑定邮箱和手机立即绑定

在 Android Studio 中找不到 getExternalFilesDir() 函数的上下文

在 Android Studio 中找不到 getExternalFilesDir() 函数的上下文

喵喵时光机 2022-11-02 15:22:56
所以,我正在尝试将文本写入 Android Studio 中的文件。我有以下代码:public void sampleFunction() {    File file = new File(getExternalFilesDir(null), "sample-file.txt");}问题是方法 getExternalFilesDir(null) 无法解决。在做了一些研究之后,我注意到我需要提供 Context 类。如:public void sampleFunction(Context c) {    File file = new File(c.getExternalFilesDir(null), "equation_history.xml");}当我调用 sampleFunction 时,我只需传入当前上下文:sampleFunction(this);这通常会起作用,但是,我需要在按钮的 setOnClickListener 函数中调用此函数。例如:Button b_go = findViewById(R.id.b_go);b_go.setOnClickListener(new View.OnClickListener() {    @Override    public void onClick(View view) {        Functions.sampleFunction(this);    }});所以返回值this是android.view.View.OnClickListener而不是android.content.Context。我该如何解决这个问题?任何建议将不胜感激。
查看完整描述

3 回答

?
杨__羊羊

TA贡献1943条经验 获得超7个赞

不要将“this”作为参数传递,而是尝试调用 getApplicationContext(),或者如果您在片段中,只需调用 getActivity()。



查看完整回答
反对 回复 2022-11-02
?
心有法竹

TA贡献1866条经验 获得超5个赞

经常做的是在类中声明一个 Context myContext 变量,然后 onCreate,你用 myContext = this 填充它;然后,在任何侦听器或异步任务中,您可以使用 myContext.getExternalFilesDir(null)



查看完整回答
反对 回复 2022-11-02
?
jeck猫

TA贡献1909条经验 获得超7个赞

File storageDir = getActivity().getExternalFilesDir(Environment.DIRECTORY_PICTURES);



查看完整回答
反对 回复 2022-11-02
  • 3 回答
  • 0 关注
  • 514 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号