1
버튼을 클릭 할 때 소리를 내고 싶습니다. 목록보기에서 항목을 선택한 경우 listview, singlelistitem 열린 레이아웃으로 사운드를 나열하고, 다른 목록에서 버튼을 클릭합니다. 내가 클릭하면 응용 프로그램 덕분에listview에서 미디어 플레이어 문제가 발생했습니다.
이AndroidListViewActivity.class
SingleListItem.class (목록 선택 항목에 대한) (선택한 항목을 표시합니다)
버튼 클릭, 어디에 문제가, 작동하지 않는, 닫는 (SingleListItem 레이아웃에서 선택한 사운드가 재생 됨)
로그 캣 메시지 :
11-11 16:18:09.285: E/dalvikvm(17161): VM aborting
11-11 16:18:09.285: A/libc(17161): Fatal signal 11 (SIGSEGV) at 0xdeadd00d (code=1)
AndroidListViewActivity 클래스;
public class AndroidListViewActivity extends ListActivity {
int [] sounds;
MediaPlayer mediaPlayer;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
sounds= new int[] {R.raw.sound1,R.raw.sound2,R.raw.sound3,R.raw.sound4,R.raw.sound5};
// storing string resources into Array
String[] sounds= getResources().getStringArray(R.array.sounds);
// Binding Array to ListAdapter
this.setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, R.id.label, sounds));
ListView lv = getListView();
// listening to single list item on click
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// selected item
String selectedsound= ((TextView) view).getText().toString();
String selectedFromList = getItemAtPosition(position);
@SuppressWarnings("unused")
int resId = getResources().getIdentifier(selectedFromList, "raw", getPackageName());
// Launching new Activity on selecting single List Item
Intent i = new Intent(getApplicationContext(), SingleListItem.class);
Intent intent = new Intent(getApplicationContext(), SingleListItem.class);
// sending data to new activity
i.putExtra("selectedsound", selectedsound);
intent.putExtra("position", position);
startActivity(i);
startActivity(intent);
}
private String getItemAtPosition(int position) {
// TODO Auto-generated method stub
return null;
}
});
}
}
SingleListItem 클래스;
public class SingleListItem extends Activity{
int [] sounds;
MediaPlayer mediaPlayer;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
sounds= new int[] {R.raw.sound1,R.raw.sound2,R.raw.sound3,R.raw.sound4,R.raw.sound5};
this.setContentView(R.layout.single_list_item_view);
TextView txtProduct = (TextView) findViewById(R.id.product_label);
Intent i = getIntent();
Intent intent = getIntent();
// getting attached intent data
String product = i.getStringExtra("selectedsound");
int position = intent.getExtras().getInt("position");
// displaying selected sound
txtProduct.setText(selectedsound);
mediaPlayer = MediaPlayer.create(this, sounds[position]);
Button b = (Button) findViewById(R.id.button1);
b.setOnClickListener(new View.OnClickListener(){
public void onClick(View arg0) {
mediaPlayer.start();
//start the progress dialog
}
});
}
}