2016-12-09 2 views
0

Когда действие запущено и пользователь захватывает изображение, я хочу подсчитать одновременно и проверить количество файлов в каталоге изображений после достижения значения до 20, оно предложит пользователю выполнить задание.выполнить alertDialog, когда элемент папки равен 20

утра мышление делает это, чтобы поставить это на мой OnCreate метод

код любит это:

File dir = new File(FilePath); 
File[] file = dir.listfiles(); 
for(int i = 0; i < 20; i++){ 
     if(files[i] == 20){ 
      alertDialog(); 
    }else{ 
     button.setEnable(true); 
    } 
} 

Как я могу добиться этого на андроид и где я должен поставить эту вещь, чтобы работать во время выполнения?

ответ

1

Чтобы подсчитать количество файлов в каталоге, вы можете просто проверить длину массива, не нужно перебирать его.

Если вы хотите, чтобы этот код запускался после того, как пользователь захватил изображение, поместить его в onCreate() не имеет смысла.

Согласно коду в комментариях ниже, вы должны выполнить эту операцию в onCaptureCompleted(), когда захват фактически завершается (и изображение будет сохранено):

@Override 
public void onCaptureCompleted(@NonNull CameraCaptureSession session, 
           @NonNull CaptureRequest request, 
           @NonNull TotalCaptureResult result) { 
    process(result); 

    File dir = new File(filePath); 
    File[] files = dir.listFiles(); 

    if (files.length >= 20){ 
     // ... 
    } else{ 
     // ... 
    } 
} 
+0

вот ссылка кода https: // GitHub .com/googlesamples/android-Camera2Basic/blob/master/Application/src/main/java/com/example/android/camera2basic/Camera2BasicFragment.java тоже с этим, но мне интересно, куда я должен положительно проверить, можете ли вы –

Смежные вопросы