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

时间:2016-04-29 04:35:13

标签: android-togglebutton

我的项目是一个音乐播放器,它有一个ToggleButton用于播放/暂停。

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

我正在尝试跟进互联网和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
        }

    }

}

1 个答案:

答案 0 :(得分:0)

发布您的logcat结果我会给出更好的答案您的课程没有任何声音对象的初始化,并且还检查了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();
    }
  }
}