我正在尝试访问AlertDialog中的SeekBar。 我需要setOnSeekBarChangeListener(),或者访问SeekBar.getProgress()来获取它的值。我在哪里这样做?有可能吗?
使用onOptionsItemSelected中的showDialog(id)显示对话框。
在onCreateDialog中使用以下代码来创建包含SeekBar的自定义内容的AlertDialog。
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();
}
我无法在主要活动onCreate上做到这一点;尚未创建SeekBar。我以为我能够在Ok Button的onClick处理程序中获取SeekBar.getProgress()值的句柄但是不能。
任何建议都会很棒!
感谢
帕特里克
答案 0 :(得分:4)
您可以通过SeekBar
致电findViewById()
来获取calibrateView
,大概是。