Android Studio 中的 ToggleButton 代码意外导致应用程序崩溃

ToggleButton code in Android Studio unexpectedly crashes the App

我的项目是一个音乐播放器,它有一个 play/pause 的 ToggleButton。

我尝试在 Android Studio 中 运行 编写代码,但它意外地导致应用程序崩溃。

我正在尝试跟进 Internet 上的一些教程和 YouTube 指南,但目前没有任何效果。

这是我在 MainActivity 中 运行 的代码:

package com.example.hamzeh.playpausestop;

import android.media.MediaPlayer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ToggleButton;

public class MainActivity extends AppCompatActivity {

    MediaPlayer Sound;
    int pause;

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

    public void stop(View view)
    {
        Sound.release();
    }

    public void onToggleClicked(View view)
    {
        boolean checked = ((ToggleButton)view).isChecked();

        if (checked)
        {
            Sound.start();
            //Play
        }
        else
        {
            Sound.pause();
            pause = Sound.getCurrentPosition();
            //Pause
        }

    }

}

Post 你的 logcat 结果我会给出更好的答案你的 class 没有任何声音对象的初始化并且还签入 xml onClick 标签是 onToggleClickedstop 是否定义。

public class MainActivity extends AppCompatActivity {

MediaPlayer Sound;
int pause;
//

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    // initialize Mediaplayer here for single sound
    Sound= MediaPlayer.create(MainActivity.this, R.raw.UrSoundFileInRawFolder);

}

public void stop(View view){
    Sound.release();
}

public void onToggleClicked(View view){
    boolean checked = ((ToggleButton)view).isChecked();

    if (checked && !Sound.isPlaying() && Sound!=null){
        Sound.start();
    }
    else if(Sound.isPlaying()){
           Sound.pause();
           pause = Sound.getCurrentPosition();
    } esle{
         Toast.makeText(MainActivity.this, "SomeThingWrong", Toast.LENGTH_SHORT).show();
    }
  }
}