AlertDialog에서 SeekBar에 액세스하려고합니다. setOnSeekBarChangeListener()를 호출하거나 SeekBar.getProgress()에 액세스하여 값을 가져와야합니다. 내가 어디에서해야하니? 가능한가?LayoutInflater를 통해 AlertDialog에서 사용되는 SeekBar의 OnSeekBarChangedListener를 설정하는 방법
대화 상자는 showDialog (id) fromOptionsItemSelected를 사용하여 표시됩니다.
다음 코드는 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 버튼의 onClick 핸들러에서 SeekBar.getProgress() 값에 대한 핸들을 얻을 수 있지만 그렇게 할 수 없다고 생각했습니다.
어떤 제안이 좋을까요?
감사
패트릭
그게 너무 분명한데 ... 다시 한번 감사드립니다! – bugzy