Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 电话赢了';t播放“咔嗒”声_Java_Android_Audio_Onclicklistener - Fatal编程技术网

Java 电话赢了';t播放“咔嗒”声

Java 电话赢了';t播放“咔嗒”声,java,android,audio,onclicklistener,Java,Android,Audio,Onclicklistener,我目前正在开发一个android应用程序,其目的是在点击时播放每天各种各样的声音 我有三项活动:家庭、动物和运输。 Home很好,animaux很好(它播放所有声音都没有任何问题)。 但我想将admob集成到传输上。广告显示得很好,但当我按声音按钮时,什么也没发生。如果你能帮助我理解我的错误以及如何纠正它,那将是非常好的 下面是transports.java public class Transports extends Activity { private AdView adView;

我目前正在开发一个android应用程序,其目的是在点击时播放每天各种各样的声音

我有三项活动:家庭、动物和运输。
Home很好,animaux很好(它播放所有声音都没有任何问题)。
但我想将admob集成到传输上。广告显示得很好,但当我按声音按钮时,什么也没发生。如果你能帮助我理解我的错误以及如何纠正它,那将是非常好的

下面是transports.java

public class Transports extends Activity {

private AdView adView;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_transports);

    // Create the adView
    adView = new AdView(this, AdSize.BANNER,  "xxxxxx"
    // Lookup your LinearLayout assuming it's been given
    // the attribute android:id="@+id/mainLayout"
    LinearLayout layout = (LinearLayout)findViewById(R.id.linearLayout1);

    // Add the adView to it
    layout.addView(adView);

    // Initiate a generic request to load it with an ad
    adView.loadAd(new AdRequest());
  }

  @Override
  public void onDestroy() {
    if (adView != null) {
      adView.destroy();
    }
    super.onDestroy();
  }
  private MediaPlayer mPlayer = null;

    /** Called when the activity is first created. */
    public void onCreate1(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_transports);

        Button btn_sound_sncf2 = (Button) findViewById(R.id.sncfnew);
        btn_sound_sncf2.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                playSound(R.raw.sncf2);
            }

        });

        Button btn_sound_sncf1 = (Button) findViewById(R.id.sncf1);
        btn_sound_sncf1.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                playSound(R.raw.sncf1);
            }

        });
    }

    @Override
    public void onPause() {
        super.onPause();
        if(mPlayer != null) {
            mPlayer.stop();
            mPlayer.release();
        }
    }

    private void playSound(int resId) {
        if(mPlayer != null) {
            mPlayer.stop();
            mPlayer.release();
        }
        mPlayer = MediaPlayer.create(this, resId);
        mPlayer.start();
    }
}
下面是transports.xml代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="fill_vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".Transports" >

<LinearLayout
    android:id="@+id/linearLayout1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:gravity="left"
    android:orientation="vertical" >

    <com.google.ads.AdView
        android:id="@+id/adView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        ads:adSize="BANNER"
        ads:adUnitId="xxxxx"
        ads:loadAdOnCreate="true"
        ads:testDevices="TEST_EMULATOR, TEST_DEVICE_ID"
        android:gravity="top" >
    </com.google.ads.AdView>

<Button android:id="@+id/sncfnew"
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignLeft="@+id/sncf1" 
     android:layout_below="@+id/sncf1" 
     android:layout_marginTop="38dp" 
     android:text="@string/sncfnew" />

<Button android:id="@+id/sncf1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignLeft="@+id/linearLayout1" 
    android:layout_below="@+id/linearLayout1" 
    android:text="@string/sncf1" />
</LinearLayout>   
</RelativeLayout>


我想知道问题是否不在我的xml文件中:我很难用admob要求的linearlayout创建一个清晰的接口。

您实际上没有设置侦听器。在方法中包含该代码:

public void onCreate1(Bundle savedInstanceState) {
这是从来没有被称为。将该代码移动到实际的
onCreate()
方法,它应该可以正常工作