我遇到以下问题:
我有一个旋转器,里面有不同的歌曲 . 我想做的是当您从微调器中选择一首歌时,媒体播放器将播放这些歌曲 . 我理解如何进行媒体播放器编码但无法链接它 . 我是否需要播放器可以使用的每首歌曲或参考ID的某种值?谢谢 .
我有的代码(只有微调器):
package com.example.spinnertutorial;
公共类SpinnerTutorial扩展Activity {/ **首次创建活动时调用 . * /
String[] spinnerItems = {
"Song 1", "Song 2", "Song 3", "Song 4", "Song 5"
};
Spinner sp;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ArrayAdapter<String> adapter =
new ArrayAdapter<String> (this,
android.R.layout.simple_spinner_dropdown_item, spinnerItems);
sp = (Spinner)findViewById(R.id.spinner1);
sp.setAdapter(adapter);
sp.setOnItemSelectedListener(new OnItemSelectedListener(){
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3){
int item = sp.getSelectedItemPosition();
Toast.makeText(getBaseContext(), "You have selected the playlist: " +spinnerItems[ item], Toast.LENGTH_SHORT).show();
}
public void onNothingSelected(AdapterView<?> arg0){
}
});
}}
1 回答
如果在微调器中使用歌曲文件名,则可以检索这些名称(
getSelectedItem()
)并直接在MediaPlayer
中使用它们 .如果您的
Spinner
具有歌曲 Headers 或与歌曲文件名无关的任何其他字符串,则使用所选索引(使用getSelectedItemPosition()
)从第二个阵列中检索文件名,或使用带歌曲 Headers 和歌曲文件名的HashMap
. Bundle类是一个不错的选择 .