Ошибка: вызвано: java.lang.NullPointerException

Я пытаюсь показать размер файлов кэша в МБ, используемых моим приложением. но мое приложение падает. Ошибка: вызвано: java.lang.NullPointerException

private void initializeCache() {
    long size = 0;
    size += getDirSize(this.getCacheDir());
    size += getDirSize(this.getExternalCacheDir());
    this.text_view_cache_value.setText(getResources().getString(R.string.label_cache)  + readableFileSize(size));

}

public long getDirSize(File dir){
    long size = 0;
    for (File file : dir.listFiles()) {
        if (file != null && file.isDirectory()) {
            size += getDirSize(file);
        } else if (file != null && file.isFile()) {
            size += file.length();
        }
    }
    return size;
}

1 ответ

Установите точку отладки или выполните System.out.println(..), чтобы проверить содержимое:

this.getCacheDir()
his.getExternalCacheDir()
this.text_view_cache_value
R.string.label_cache

один из них имеет нулевое значение.

Другие вопросы по тегам