Я пытаюсь получить доступ к 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, но не смог.
Любые предложения будут великолепны!
спасибо
патрик