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 标签是 onToggleClicked
和 stop
是否定义。
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();
}
}
}
我的项目是一个音乐播放器,它有一个 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 标签是 onToggleClicked
和 stop
是否定义。
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();
}
}
}