package com.example.english;
import android.os.Bundle;
import android.app.Activity;
import android.content.*;
import android.content.res.TypedArray;
import android.graphics.Color;
import android.graphics.Typeface;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.TextView;
public class submain extends Activity{
static int key; static int text1; Englishdata Text1; TextView t1;
int PoolEffect1;
Context c;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.english1);
c=getBaseContext();
key=MainActivity.sPos;
Gallery g = (Gallery) findViewById(R.id.gallery1);
g.setAdapter( new Img(this) );
// String a = "";
// Bundle extras = getIntent().getExtras();
// if(extras!=null)a=extras.getString("id");
g.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
text1=arg2;
t1=(TextView)findViewById(R.id.textView1);
t1.setTypeface(Typeface.DEFAULT_BOLD,Typeface.BOLD);;
t1.setTextSize(40);
t1.setTextColor(Color.GREEN);
Text1=new Englishdata();
Intent intent=new Intent(submain.this,com.example.english.Englishdata.class);
startActivity(intent);
t1.setText(Text1.str);
}
});
}
갤러리 화면을 눌렀을 때 startActivity로 Englishdata를 불러와서
/**
*
*/
package com.example.english;
import android.app.*;
import android.media.*;
import android.os.*;
import android.util.*;
/**
* @author aa34
*
*/
public class Englishdata extends Activity{
int text,key; String str;
SoundPool sp;
int a;
protected void onCreate(Bundle savedInstanceState) {
this.text=submain.text1;
this.key=submain.key;
sp=new SoundPool(1,AudioManager.STREAM_MUSIC,0);
Update();
super.onCreate(savedInstanceState);
}
public void Update(){
if(key==0){
switch(text){
case 0:
str="ONE";
break;
case 1:
str="TWO";
break;
case 2:
str="WHREE";
break;
case 3:
str="FOUR";
break;
case 4:
str="FIVE";
break;
case 5:
str="SIX";
break;
case 6:
str="SEVEN";
break;
case 7:
str="EIGHT";
break;
case 8:
str="NINE";
break;
case 9:
str="TEN";
break;
default:
break;
}
}
else if(key==1){
switch(text){
case 0:
str="BANANA";
break;
case 1:
str="WATERMELON";
break;
case 2:
str="APPLE";
break;
case 3:
str="PEAR";
break;
default:
break;
}
}
else if(key==2){
switch(text){
case 0:
str="DOG";
break;
case 1:
str="PANDA";
break;
case 2:
str="DOLPHIN";
break;
case 3:
str="CAT";
break;
case 4:
str="SQUIRREL";
break;
case 5:
str="TURTLE";
break;
case 6:
str="LION";
break;
case 7:
str="RHINOCEROS";
break;
default:
break;
}
}
else if(key==3){
switch(text){
case 0:
str="CHICKEN";
break;
case 1:
str="PIZZA";
break;
case 2:
str="BREAD";
break;
default:
break;
}
}
else if(key==4){
switch(text){
case 0:
str="TREE";
break;
case 1:
str="FIRE";
break;
case 2:
str="SKY";
break;
case 3:
str="FLOWER";
break;
case 4:
str="SEA";
break;
default:
break;
}
}
else if(key==5){
switch(text){
case 0:
str="CAR";
break;
case 1:
str="MOTORCYCLE";
break;
case 2:
str="TRAIN";
break;
default:
break;
}
}
else if(key==7){
switch(text){
case 0:
str="RED";
break;
case 1:
str="BRUE";
break;
case 2:
str="BLACK";
break;
case 3:
a=sp.load(getBaseContext(),R.raw.yellow,1);
str="YELLOW";
sp.play(a,2,2,0,0,1);
break;
case 4:
str="GRAY";
break;
default:
break;
}
}
}
}
이렇게 각 키값인 key와 text에 맞는 switch문에 따라 효과음이 재생되도록 해놨는 데요
원래는 submain 클래스 에서 귀찮게 엑티비티 스타트 안하고 Englishdata 를 그냥 submain을 상속받아서
처리했어요 그런데 막 검색하다가 Activity로 처리하니 잘 된다..라는 말을 듣고 귀찮지만 바꿔서 해봤는 데
에러도 안뜨는 데 소리만 안들리네요...
제가 예제로 버튼눌렀을 때 효과음 나게 처리하게 했을 때는 잘 됬었는 데말이죠..
답변좀 부탁드립니다..ㅜㅜ