@Override protected void onBindDialogView(View view) { super.onBindDialogView(view); dialogEqualizer = (EqualizerSurface) view.findViewById(R.id.FrequencyResponse); dialogEqualizer.setOnTouchListener( new OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { float x = event.getX(); float y = event.getY(); int band = dialogEqualizer.findClosest(x); int wy = v.getHeight(); float level = (y / wy) * (EqualizerSurface.MIN_DB - EqualizerSurface.MAX_DB) - EqualizerSurface.MIN_DB; if (level < EqualizerSurface.MIN_DB) { level = EqualizerSurface.MIN_DB; } if (level > EqualizerSurface.MAX_DB) { level = EqualizerSurface.MAX_DB; } dialogEqualizer.setBand(band, level); levels[band] = level; refreshPreference(levels); return true; } }); for (int i = 0; i < levels.length; i++) { dialogEqualizer.setBand(i, levels[i]); } }