如何使用getFilesDir()?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (464)

我想获取我的应用程序的根目录,但得到以下异常。我甚至定义了我的背景。我该如何解决?

   ContextWrapper c = new ContextWrapper(this);
   String FileDirectory =  c.getFilesDir().getPath();
 Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.io.File android.content.Context.getFilesDir()' on a null object reference
public class MainActivity extends AppCompatActivity {
public static final int DIALOG_DOWNLOAD_PROGRESS = 0;
private ProgressDialog mProgressDialog;

ContextWrapper c = new ContextWrapper(this);

File dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
String FileDirectory =  c.getFilesDir().getPath();

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
提问于
用户回答回答于

你无法在创建时拨打这些电话。在调用super.onCreate()之后,上下文无效。将所有代码移动到onCreate,它应该没问题。尽管使ContextWrapper成为一种浪费。一个Activity就是一个Context,只需直接调用getFilesDir即可。

所属标签

可能回答问题的人

  • 人生的旅途

    10 粉丝484 提问6 回答
  • 无聊至极

    4 粉丝504 提问6 回答
  • 富有想象力的人

    4 粉丝0 提问4 回答
  • 找虫虫

    2 粉丝0 提问4 回答

扫码关注云+社区

领取腾讯云代金券