Member 13544752 Ответов: 1

Как установить заголовок индикатора выполнения с именем файла


мой индикатор выполнения таков:

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() каждый раз через петлю. Вызовите их один раз, прежде чем войти в цикл.

Если оставить это в стороне, то в чем именно заключается проблема?

1 Ответов

Рейтинг:
2

debasish mishra

Вы получите некоторые подсказки из приведенного ниже примера.
Как скопировать файлы в C# с помощью настраиваемого индикатора выполнения и / или индикатора выполнения[^]


David Crow

Как именно настольное приложение C# является решением его проблемы с Android? Это не решение ни в малейшем смысле этого слова.