我是新來的android世界。我正在開發一個應用程序,主屏幕上有6個按鈕,第二個屏幕上有5個按鈕。當用戶點擊這些按鈕時,主屏幕上的5個按鈕應該能夠播放音樂。每個按鈕都應該能夠播放與原始文件夾中的音樂相對應的不同音樂。主屏幕上的第6個按鈕應允許用戶轉到下一個屏幕(第二屏幕)。同樣,第二個屏幕上的5個按鈕應該播放與原始文件夾中的音樂相對應的音樂。請看我的代碼..我不知道我的代碼有什麼問題?如何播放主屏幕和第二屏幕上添加的音樂?
我主要的Java代碼如下所示...
public class MainActivity extends Activity implements OnClickListener{
public class onClickListener implements OnClickListener {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i = new Intent("com.example.playaudio.SecondActivity");
startActivity(i);
}
}
public class onClick {
}
private MediaPlayer mp;
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.buttonSwitch);
button.setOnClickListener(new onClickListener());
setVolumeControlStream(AudioManager.STREAM_MUSIC);
Button button1=(Button)findViewById(R.id.button_1);
Button button2=(Button)findViewById(R.id.button_2);
Button button3=(Button)findViewById(R.id.button_3);
Button button4=(Button)findViewById(R.id.button_4);
Button button5=(Button)findViewById(R.id.button_5);
button1.setOnClickListener(this);
button2.setOnClickListener(this);
button3.setOnClickListener(this);
button4.setOnClickListener(this);
button5.setOnClickListener(this);
}
private void setOnClickListener(
com.example.playaudio.MainActivity.onClick onClick) {
// TODO Auto-generated method stub
}
public static void onClick(View v) {
int resId;
switch (v.getId()) {
case R.id.button_1:
resId = R.raw.a;
break;
case R.id.button_2:
resId = R.raw.b;
break;
case R.id.button_3:
resId = R.raw.c;
break;
case R.id.button_4:
resId = R.raw.d;
break;
case R.id.button_5:
resId = R.raw.e;
break;
default:
resId = R.raw.a;
break;
}
// 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();
}
{
startActivity(new Intent(MainActivity.this,SecondActivity.class));
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
@Override
protected void onDestroy() {
if(null!=mp){
mp.release();
}
super.onDestroy();
}
}
第二個屏幕Java類
import com.example.playaudio.MainActivity.onClick;
import android.app.Activity;
import android.content.Intent;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class SecondActivity extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
b= (Button) findViewById (R.id.buttonSwitch);
b.setOnClickListener(new onClick());
setVolumeControlStream(AudioManager.STREAM_MUSIC);
Button button7=(Button)findViewById(R.id.button7);
Button button8=(Button)findViewById(R.id.button8);
Button button9=(Button)findViewById(R.id.button9);
Button button10=(Button)findViewById(R.id.button10);
Button button11=(Button)findViewById(R.id.button11);
button7.setOnClickListener((OnClickListener) this);
button8.setOnClickListener((OnClickListener) this);
button9.setOnClickListener((OnClickListener) this);
button10.setOnClickListener((OnClickListener) this);
button11.setOnClickListener((OnClickListener) this);
}
public void onClick(View v) {
int resId;
switch (v.getId()) {
case R.id.button7:
resId = R.raw.f;
break;
case R.id.button8:
resId = R.raw.g;
break;
case R.id.button9:
resId = R.raw.h;
break;
case R.id.button10:
resId = R.raw.i;
break;
case R.id.button11:
resId = R.raw.j;
break;
default:
resId = R.raw.a;
break;
}
{
startActivity(new Intent(MainActivity.this,SecondActivity.class));
}
只需複製和粘貼,與複製文本相同,並不難。我真的不明白爲什麼很多人會遇到麻煩。 –
@ Xaver Kapeller ...我嘗試過,但它不工作.... – user3856054
在這裏只複製和粘貼代碼失敗的可能性如何?就像用文字一樣複製它。即使你無法正確格式化,別人也會修復它。 –