Как отобразить индикатор выполнения внутри AlertDialog Builder вместе с другими элементами без XML? - PullRequest
3 голосов
/ 20 июля 2011

Я пытаюсь создать AlertDialog для передачи по Bluetooth после касания уведомления о передаче в телефоне Android.

Я пытаюсь что-то вроде этого: Из нижеприведенного я получаю все - значок, заголовок и две кнопки. Я уверен, что могу добавить другую информацию, такую ​​как From, FileName и другие, используя курсоры с помощью свойств AlertDialog.Builder. Я просто не знаю, чтобы получить прогресс-бар в нем. Я не хочу использовать XML.

protected Dialog onCreateDialog(int id) {
    AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
    alertDialogBuilder.setIcon(R.id.imageFile);
    alertDialogBuilder.setTitle("File Transfer");

    ProgressDialog progressDialog;
    Context mContext = null;
    progressDialog = new ProgressDialog(mContext);
    progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);

    //alertDialogBuilder.setView(progressDialog); //STUCK HERE
    //"!" icon and "File Transfer"
    //from : device name
    //File: <name>
    //Type: <type> (<size>)
    //Receiving/Sending File
    //<%> | Green progress bar
    //Hide and Stop buttons

    alertDialogBuilder.setPositiveButton("STOP", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int id) {
            dialog.cancel();
        }
    });
    alertDialogBuilder.setNegativeButton("HIDE", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int id) {
            dialog.cancel();
        }
    });
    AlertDialog alertDialog = alertDialogBuilder.create();
    return alertDialog;

}

У меня все есть, кроме того, что я не могу понять, как вывести здесь индикатор прогресса.

Могу ли я просто настроить индикатор выполнения, используя макет XML, и использовать в качестве

alertDialogBuilder.setView(R.id.what-ever-xml-file) Или как создать представление для этого индикатора выполнения в самом файле Java, поместить индикатор выполнения в это представление и затем поместить это представление в диалоговое окно.

Я хочу вот что:

Alert Dialog with ProgressBar

1 Ответ

3 голосов
/ 20 июля 2011

Вы можете использовать Dialog и добавить ProgressBar для этого, используя

_dialog.addContentView(view, params) метод.

...