【发布时间】:2014-07-21 14:05:04
【问题描述】:
我正在尝试设计在主屏幕上有 3 个按钮的应用程序;当用户按下前两个按钮时,它会播放原始文件夹中的不同音乐。主屏幕上的第三个按钮应该将用户带到下一个屏幕,该屏幕也有 2 个按钮。
我尝试在模拟器上运行我的应用程序。它在主屏幕的前两个按钮上播放音乐,当我单击第三个(下一步)按钮时,它会将用户带到下一个屏幕。但是,当我单击第二个屏幕的第一个或第二个按钮时。它说“不幸的是,您的应用程序已停止”。我现在不知道我的 SecondActivity.Java 代码有什么问题。
任何帮助将不胜感激。下面是我的主要和二等 JAVA 代码。我确实在 manifest.xml 文件中声明了我的第二个 Activity。
主要活动 Java 代码..
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;
}
}
}
【问题讨论】:
-
@AlexBalo...我附上了我的logcat错误..我对Android完全陌生所以我不知道...如果可能的话,请您发布第二个屏幕的代码...这将是一个很大的帮助..
-
您正在创建 resId = 1 的媒体播放器,我认为这是问题所在,您的原始文件夹中不存在此资源
标签: java android layout manifest