Я знаю, как установить громкость для одного действия, но у меня есть несколько действий, и я не хочу писать один и тот же код во всех действиях, поэтому я попытался вырезать фрагмент и создал суперкласс, который расширяет AppCompatActivity
Но Я не знаю, как получить доступ к этому классу для каждого действия.
Так что мой класс VolumeController выглядит следующим образом:
public class VolumeController extends AppCompatActivity {
AudioManager audioManager;
@Override
public void onCreate(@Nullable Bundle savedInstanceState, @Nullable PersistableBundle persistentState) {
super.onCreate(savedInstanceState, persistentState);
audioManager = (AudioManager) getSystemService(AUDIO_SERVICE);
int maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
int currentVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
SeekBar volumeControl = findViewById(R.id.seekBar);
volumeControl.setMax(maxVolume);
volumeControl.setProgress(currentVolume);
volumeControl.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
Log.i("Seekbar changed", Integer.toString(progress));
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, progress, 0);
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
}
Все в onCreate работает нормально, если оно реализовано по-своему Метод Activity onCreate, но он не работает, если я создал этот класс VolumeController ...
Моя активность выглядит следующим образом
public class GameActivity extends VolumeController {
VolumeController volumeController = new VolumeController(); //Probably this is wrong?
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_game);
//What to do here?
}
Я думал, что если я расширю класс VolumeController, он унаследует все методы и атрибуты из суперкласса?