Метод не может быть применен к данным типам. Обязательно: int. Найдено: нет аргументов - PullRequest
0 голосов
/ 09 октября 2019

У меня проблемы с моим приложением. Я пишу метод с CountDownTimer, и я передаю аргумент 'velocidadbpm', который является переменной с целым числом. При компиляции возникает следующая ошибка: метод reproducirSonidoCountDownTimer в классе metronomo не может быть применен к данным типам;обязательно: int найдено: нет аргументов причина: фактические и формальные списки аргументов различаются по длине

Это метод public class metronomo extends AppCompatActivity {

private TextView numerobpm;
private TextView bpm;
private TextView variablevelocidadbpm;
private TextView nombreitaliano;
private RadioButton metronomoizq;
private RadioButton metronomoder;
private static SeekBar seekbarmetronomo;
private Button play;
private int velocidadbpm;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_metronomo);

    variablevelocidadbpm = (TextView)findViewById(R.id.variablevelocidadbpm);
    nombreitaliano = (TextView)findViewById(R.id.nombreitaliano);
    numerobpm = (TextView) findViewById(R.id.numerobpm);
    bpm = (TextView) findViewById(R.id.bpm);
    metronomoizq = (RadioButton) findViewById(R.id.metronomoizq);
    metronomoder = (RadioButton) findViewById(R.id.metronomoder);
    play = (Button)findViewById(R.id.playbutton);
    play.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            reproducirSonidoCountDownTimer();
        }
    });
    seekbarmetronomo = (SeekBar) findViewById(R.id.seekbarmetronomo);
    seekbarmetronomo.setProgress(0);
    seekbarmetronomo.incrementProgressBy(25);
    seekbarmetronomo.setMax(250);
    //Indica en el TextView nombreitaliano El ritmo del metrónomo.
    seekbarmetronomo.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
        @Override
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
            progress = progress / 1;
            progress = progress * 1;
            velocidadbpm = progress;
            //Cambia el número de BPM en el TextView numerobpm
            numerobpm.setText(Integer.toString(progress));
            //Guarda en la variable velocidad bpm el número de BPM para ser utilizado como parámetro
            variablevelocidadbpm.setText(Integer.toString(velocidadbpm));
        }

        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {

        }

        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {

        }
    });



    }



public void reproducirSonidoCountDownTimer(int velocidadbpm) {
this.velocidadbpm = velocidadbpm;
int intervalo = velocidadbpm * 60000;


new CountDownTimer(60000, intervalo) {
    public void onTick(long millisUntilFinished){
        reproducirSonido();
    }
    public void onFinish(){

    }
}.start();
}

Ответы [ 2 ]

1 голос
/ 09 октября 2019

Вы должны передать int значение для вызова reproducirSonidoCountDownTimer. Проблема в вашем onClick, обновите это.

    play.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            reproducirSonidoCountDownTimer();
        }
    });

Вызовите функцию с некоторым значением. В Android Studio рядом с этой строкой вы видите красную метку. Я не знаю, как ты мог пропустить это?

0 голосов
/ 09 октября 2019

Вы вызываете функцию без аргументов. Здесь

reproducirSonidoCountDownTimer(**Pass an int here**);

Пока вашей функции нужен аргумент.

public void reproducirSonidoCountDownTimer(int velocidadbpm)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...