Как установить OnSeekBarChangedListener для SeekBar, используемого в AlertDialog через LayoutInflater - PullRequest
0 голосов
/ 27 января 2010

Я пытаюсь получить доступ к SeekBar в AlertDialog. Мне нужно либо setOnSeekBarChangeListener (), либо получить доступ к SeekBar.getProgress (), чтобы получить его значение. Где мне это сделать? Возможно ли это?

Диалог отображается с использованием showDialog (id) из onOptionsItemSelected.

Следующий код используется в onCreateDialog для создания AlertDialog с пользовательским содержимым, которое включает в себя SeekBar.

case CALIBRATE_DIALOG_ID: {
            // This example shows how to add a custom layout to an AlertDialog
            LayoutInflater factory = LayoutInflater.from(this);
            final View calibrateView = factory.inflate(R.layout.dlg_calibrate, null);
            return new AlertDialog.Builder(this)
                .setIcon(R.drawable.alert_dialog_icon)
                .setTitle("Calibrate")
                .setView(calibrateView)
                .setPositiveButton("Ok", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int whichButton) {

                        //mSeekBar1 = (SeekBar) findViewById(R.id.SeekBar01);
                        //Toast.makeText(ctx, mSeekBar1.getProgress(), Toast.LENGTH_SHORT);

                    }
                })
                .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int whichButton) {

                        /* User clicked cancel so do some stuff */
                    }
                })
                .create();
        }

Я не могу сделать это в основной деятельности по созданию; SeekBar еще не был создан. Я думал, что смогу получить указатель на значение SeekBar.getProgress () в обработчике onClick кнопки Ok, но не смог.

Любые предложения будут великолепны!

спасибо

патрик

1 Ответ

4 голосов
/ 27 января 2010

Вы можете получить SeekBar, позвонив findViewById() на ваш calibrateView, предположительно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...