2011-03-02 54 views
1

第一個按鈕可以正常工作,但是當我點擊第二個按鈕時,沒有任何反應。我沒有得到任何錯誤,我看不出有什麼問題。Android:爲什麼我的按鈕不能播放其音效?

Sounds.java

package com.andrew.finnandjake; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 

public class Sounds extends Activity { 
private SoundManager mSoundManager; 

/** Called when the activity is first created. */ 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    mSoundManager = new SoundManager(); 
    mSoundManager.initSounds(getBaseContext()); 
    mSoundManager.addSound(1, R.raw.finn_whatthejugisthat); 

    Button b1 = (Button)findViewById(R.id.Button1); 
    b1.setOnClickListener(new OnClickListener() { 

     public void onClick(View v) { 
      mSoundManager.playSound(1); 


     } 
    }); 
} 
public void onCreate1(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     mSoundManager = new SoundManager(); 
     mSoundManager.initSounds(getBaseContext()); 
     mSoundManager.addSound(2, R.raw.jake_dancingwithbabes); 

     Button b2 = (Button)findViewById(R.id.Button2); 
     b2.setOnClickListener(new OnClickListener() { 

      public void onClick(View v) { 
       mSoundManager.playSound(2); 
} 
}); 
    } 
} 

回答

1

您還沒有分配實際的OnCreate裏面的onclick監聽器。這應該工作:

package com.andrew.finnandjake; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 

public class Sounds extends Activity { 
private SoundManager mSoundManager; 

/** Called when the activity is first created. */ 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    mSoundManager = new SoundManager(); 
    mSoundManager.initSounds(getBaseContext()); 
    mSoundManager.addSound(1, R.raw.finn_whatthejugisthat); 
    mSoundManager.addSound(2, R.raw.jake_dancingwithbabes); 

    Button b1 = (Button)findViewById(R.id.Button1); 
    b1.setOnClickListener(new OnClickListener() { 

     public void onClick(View v) { 
      mSoundManager.playSound(1); 


     } 
    }); 

    Button b2 = (Button)findViewById(R.id.Button2); 
    b2.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 
      mSoundManager.playSound(2); 
     } 
    }); 
} 
+0

什麼是SoundManager類? :o – poitroae 2015-04-19 17:40:28

2

不能隨意創建一個方法就像你與onCreate1做的,它永遠不會被你或你的Activity執行。

這就是你需要:

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    mSoundManager = new SoundManager(); 
    mSoundManager.initSounds(this); 
    mSoundManager.addSound(1, R.raw.finn_whatthejugisthat); 
    mSoundManager.addSound(2, R.raw.jake_dancingwithbabes); 

    Button b1 = (Button)findViewById(R.id.Button1); 
    b1.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 
     mSoundManager.playSound(1); 
     } 
    }); 

    Button b2 = (Button)findViewById(R.id.Button2); 
    b2.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 
     mSoundManager.playSound(2); 
     } 
    }); 
} 
相關問題