2016-04-29 13 views
1

私はAndroid Studioで自分のプロジェクトを作業しようとしています。私はインターネットやYouTubeのガイドの中でいくつかのチュートリアルをフォローしようとしていますが、これまでのところ何もできません。私のコードを動作させる方法があるはずです。私のプロジェクトでやっているのは、再生/一時停止用のToggleButtonを持つ音楽プレーヤーです。 Android Studioでコードを実行しようとしましたが、予期せずアプリケーションがクラッシュします。ここで私はMainActivityで実行しているコードは次のとおりです。アンドロイドスタジオのToggleButtonヘルプ

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 
     } 

    } 

} 

は(ちなみに、これは私の初めてのスタックオーバーフローに投稿する)

私はより良い与えるあなたのクラスにお答えします

答えて

0

ポストあなたのlogcat結果サウンドオブジェクトの初期化もなく、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(); 
    } 
    } 
} 
+0

ここでLogCatをどのように表示できますか。 onClickタグにはすでに "onToggleClicked"があります。 「停止」が定義されているかどうかはどういう意味ですか? XMLやMainActivityの意味ですか? –

+0

これは私のトグルです:<トグルボタン アンドロイド:layout_width = "wrap_content" アンドロイド:layout_height = "wrap_content" アンドロイド:テキスト= "再生/一時停止" アンドロイド:テクストンは= "一時停止" アンドロイド:textOffは= "再生" アンドロイドは:ID = "@ + ID/playpause" アンドロイド:onClickのは= アンドロイド "をonToggleClicked" にチェック= "偽" /> そして、これは私のストップいずれかです。 <ボタン アンドロイド:layout_width = "wrap_content " android:layout_height =" wrap_content " android:text =" stop " android:onClick =" stop " android:id = "@ + id/Stop" /> –

+0

また、パブリッククラスの先頭にCompoundButtonが必要なのですか? –