什么是错的第二个活动的Java code? [英] What's wrong with the Second Activity Java code?

查看:146
本文介绍了什么是错的第二个活动的Java code?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图设计出具有主屏幕上的3个按键的应用;当在第一两个按钮的用户presses它起着位于原始文件夹中的不同的音乐。主屏幕上的第三个按钮应该推动用户的下一个屏幕,该屏幕还具有2个按钮。

我试图在模拟器上运行我的应用程序。它起着主屏幕上的前两个按钮的音乐,当我点击第三个(下一步)按钮,它把用户带到下一个屏幕。然而,当我点击第一或第二个屏幕的第二个按钮。它说:很遗憾,您的应用程序已经停止。我不知道现在是什么毛病我SecondActivity.Java code。

任何帮助将大大AP preciated。下面是我的主,二级JAVA code。我没宣布我的第二次​​活动在manifest.xml文件。

主要活动的Java code ..

 进口android.app.Activity;
进口android.content.Intent;
进口android.media.AudioManager;
进口android.media.MediaPlayer;
进口android.os.Bundle;
进口android.view.View;
进口android.view.View.OnClickListener;
公共类MainActivity扩展活动实现OnClickListener {
    私人MediaPlayer的熔点;   @覆盖
   公共无效的onCreate(捆绑savedInstanceState){
       super.onCreate(savedInstanceState);
      的setContentView(R.layout.activity_main);
      setVolumeControlStream(AudioManager.STREAM_MUSIC);
      findViewById(R.id.button_1).setOnClickListener(本);
      findViewById(R.id.button_2).setOnClickListener(本);
      findViewById(R.id.button_3).setOnClickListener(本);
   }
   公共无效的onClick(视图v){
       INT渣油= 1;
      开关(v.getId()){
      案例R.id.button_1:渣油= R.raw.button_1;打破;
      案例R.id.button_2:渣油= R.raw.button_2;打破;
      案例R.id.button_3:
         startActivity(新意图(MainActivity.this,SecondActivity.class));
         返回;      }
   //从previous MediaPlayer的释放任何资源
      如果(熔点!= NULL){
          mp.release();
      }
   //创建一个新的MediaPlayer播放此声音
      MP = MediaPlayer.create(这一点,渣油);
      mp.start();
   }
}

SecondActivity.Java

 进口android.app.Activity;
进口android.media.AudioManager;
进口android.media.MediaPlayer;
进口android.os.Bundle;
进口android.view.View;
进口android.view.View.OnClickListener;
公共类SecondActivity扩展活动实现OnClickListener {
    私人MediaPlayer的熔点;   @覆盖
   公共无效的onCreate(捆绑savedInstanceState){
       super.onCreate(savedInstanceState);
      的setContentView(R.layout.activity_second);
      setVolumeControlStream(AudioManager.STREAM_MUSIC);
      findViewById(R.id.button_4).setOnClickListener(本);
      findViewById(R.id.button_5).setOnClickListener(本);
   }
   公共无效的onClick(视图v){
        INT渣油= 1;
        //从previous MediaPlayer的释放任何资源
        如果(熔点!= NULL){
            mp.release();
        }        //创建一个新的MediaPlayer播放此声音
        MP = MediaPlayer.create(这一点,渣油);
        mp.start();        开关(v.getId()){
          案例R.id.button_4:渣油= R.raw.button_4;打破;
          案例R.id.button_5:渣油= R.raw.button_5;打破;
        }
       }
    }


解决方案

我觉得你的code想这个..
删除

  MP = MediaPlayer.create(这一点,渣油);
        mp.start();


  

在switch语句


 开关(v.getId()){
      案例R.id.button_4:
          渣油= R.raw.button_4;
          MP = MediaPlayer.create(这一点,渣油);
          mp.start();
          打破;
      案例R.id.button_5:
      渣油= R.raw.button_5;
      MP = MediaPlayer.create(这一点,渣油);
      mp.start();
      打破;
    }

I am trying to design the app that has 3 buttons on the main screen; when the user presses on the first two buttons it plays the different music located in the raw folder. The third button on the main screen should drive the user to the next screen which also has 2 buttons.

I tried to run my app on the emulator. It plays the music on first two buttons of the main screen, and when I click on the third (Next) button it takes the user to the next screen. However, when I click on 1st or 2nd button of the Second Screen. It says "Unfortunately your app has stopped". I don't now what's wrong with my SecondActivity.Java code .

Any help will be greatly appreciated. Below is my MAIN and Second class JAVA code. I did declare my second Activity in manifest.xml file.

Main Activity Java Code..

    import android.app.Activity;
import android.content.Intent;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;




public class MainActivity extends Activity implements OnClickListener {
    private MediaPlayer mp;

   @Override
   public void onCreate(Bundle savedInstanceState) { 
       super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      setVolumeControlStream(AudioManager.STREAM_MUSIC);
      findViewById(R.id.button_1).setOnClickListener(this);
      findViewById(R.id.button_2).setOnClickListener(this);
      findViewById(R.id.button_3).setOnClickListener(this);
   }
   public void onClick(View v) {   
       int resId=1;
      switch (v.getId()) {
      case R.id.button_1: resId = R.raw.button_1; break;
      case R.id.button_2: resId = R.raw.button_2; break;
      case R.id.button_3:
         startActivity(new Intent(MainActivity.this,SecondActivity.class));
         return;

      }
   // Release any resources from previous MediaPlayer
      if (mp != null) {   
          mp.release(); 
      }   
   // Create a new MediaPlayer to play this sound
      mp = MediaPlayer.create(this, resId); 
      mp.start();
   }
}

SecondActivity.Java

import android.app.Activity;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;




public class SecondActivity extends Activity implements OnClickListener {
    private MediaPlayer mp;



   @Override
   public void onCreate(Bundle savedInstanceState) { 
       super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_second);
      setVolumeControlStream(AudioManager.STREAM_MUSIC);
      findViewById(R.id.button_4).setOnClickListener(this);
      findViewById(R.id.button_5).setOnClickListener(this);
   }
   public void onClick(View v) {
        int resId = 1;
        // Release any resources from previous MediaPlayer
        if (mp != null) {               
            mp.release();   
        }

        // Create a new MediaPlayer to play this sound
        mp = MediaPlayer.create(this, resId); 
        mp.start();

        switch (v.getId()) {
          case R.id.button_4: resId = R.raw.button_4; break;
          case R.id.button_5: resId = R.raw.button_5; break;
        }
       }
    }

解决方案

I think your code should like this.. remove

 mp = MediaPlayer.create(this, resId); 
        mp.start();

before switch statement

    switch (v.getId()) {
      case R.id.button_4:
          resId = R.raw.button_4; 
          mp = MediaPlayer.create(this, resId); 
          mp.start();
          break;
      case R.id.button_5:
      resId = R.raw.button_5;
      mp = MediaPlayer.create(this, resId); 
      mp.start(); 
      break;
    }

这篇关于什么是错的第二个活动的Java code?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆