Как установить заголовок индикатора выполнения с именем файла
мой индикатор выполнения таков:
dialog = new ProgressDialog(MainActivity.this);
dialog.setTitle("копирование ... " + имя файла );
dialog.setMessage("копирование файла во внутреннее хранилище, это может занять некоторое время!" );
диалог.setIndeterminate(false);
dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
диалог.setCancelable(правда);
dialog.setButton(ProgressDialog.BUTTON_NEGATIVE, "отмена", новый диалоговый интерфейс.OnClickListener() {
@Ручная коррекция
public void onClick(DialogInterface dialogInterface, int i) {
диалог.отменить();
CopyTask.это.отменить(правда);
}
});
}
Что я уже пробовал:
Мой код копирования и вставки таков..
Этот метод-вызов по щелчку кнопки..
public void CopyTask1(View v) { foldername = "Files1 " + System.currentTimeMillis(); if (adapter == null) return; int count = adapter.getCount(); for (int i = 0; i < count; i++) { copyfiles(i); } }
private void copyfiles(int position) { UsbFile entry = adapter.getItem(position); // Toast.makeText(MainActivity.this, "files" + adapter.getCount(), Toast.LENGTH_SHORT).show(); if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)) { Toast.makeText(this, R.string.request_write_storage_perm, Toast.LENGTH_LONG).show(); } else { ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_EXT_STORAGE_WRITE_PERM); } return; } CopyTaskParam param = new CopyTaskParam(); param.from = entry; File f = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/" + "Files1" + "/" + foldername); f.mkdirs(); int index = entry.getName().lastIndexOf(".") > 0 ? entry.getName().lastIndexOf(".") : entry.getName().length(); fileName = f.getName(); String prefix = entry.getName().substring(0, index); String ext = entry.getName().substring(index); // prefix must be at least 3 characters if (prefix.length() < 3) { prefix += "pad"; } try { param.to = File.createTempFile(prefix, ext, f); } catch (IOException e) { e.printStackTrace(); } new CopyTask().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, param); }
David Crow
Вам следует воздержаться от звонков checkSelfPermission()
, shouldShowRequestPermissionRationale()
, и requestPermissions()
каждый раз через петлю. Вызовите их один раз, прежде чем войти в цикл.
Если оставить это в стороне, то в чем именно заключается проблема?