我正在尝试获取我的应用程序的根目录,但得到以下异常。我甚至定义了我的上下文。我该如何解决这个问题?在过去的3个小时里,我一直被困在这个问题上。
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);
发布于 2018-07-29 09:06:25
您不能在创建时进行这些调用。只有在调用super.onCreate()之后,上下文才有效。将所有这些代码移到onCreate中,就应该没问题了。尽管创建一个ContextWrapper有点浪费--一个活动就是一个上下文,但是直接调用getFilesDir就可以了。
https://stackoverflow.com/questions/51576354
复制相似问题