Android 如何根据此代码播放歌曲列表中的歌曲

Android 如何根据此代码播放歌曲列表中的歌曲,android,Android,在这里,我在一个列表视图中显示所有歌曲,我想播放基于onItemClick的歌曲,所以建议我如何根据我的代码来做 这是我显示SD卡音频文件列表的代码 public class ListFileActivity extends ListActivity implements OnClickListener { private String path; MediaPlayer mda; int current_index2 = 0; String filename; Button backToRe

在这里,我在一个列表视图中显示所有歌曲,我想播放基于onItemClick的歌曲,所以建议我如何根据我的代码来做 这是我显示SD卡音频文件列表的代码

public class ListFileActivity extends ListActivity implements OnClickListener {

private String path;
MediaPlayer mda;
int current_index2 = 0;
String filename;
Button backToRecord, allvoices;
ToggleButton activateDelete;
ListView myList;
List values;
ArrayAdapter adapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.soundrecords);
     setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    backToRecord = (Button) findViewById(R.id.buttonrecord);
    activateDelete = (ToggleButton) findViewById(R.id.buttonedit);
    allvoices = (Button) findViewById(R.id.buttoncontinuous);
    myList = (ListView) findViewById(android.R.id.list);
    backToRecord.setOnClickListener(this);
    activateDelete.setOnClickListener(this);
    allvoices.setOnClickListener(this);

    // Use the current directory as title
    path = "/sdcard/";
    if (getIntent().hasExtra("path")) {
        path = getIntent().getStringExtra("path");
    }
    setTitle(path);

    // Read all files sorted into the values-array
    values = new ArrayList();
    File dir = new File(path);
    if (!dir.canRead()) {
        setTitle(getTitle() + " (inaccessible)");
    }
    final String[] list = dir.list();
    if (list != null) {
        for (String file : list) {
            if (file.contains(".3gp")) {
                values.add(file);
            }
        }
    }
    Collections.sort(values);
    // Put the data into the list
    adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_2,
            android.R.id.text1, values);
    setListAdapter(adapter);

    registerForContextMenu(myList);
}

使用onItemClick Listener并使用
MediaPlayer
对象从单击的项目的uri播放文件中的音频

mylist.setOnItemClickListener(new AdapterView.OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int position,
            long arg3) {
        // TODO Auto-generated method stub

MediaPlayer mp = new MediaPlayer();
mp.setDataSource(path+mylist.getItemAtPosition(position).toString());
mp.prepare();
mp.play();

    }
});
mylist.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
公共单击(适配器视图arg0,视图arg1,内部位置,
长arg3){
//TODO自动生成的方法存根
MediaPlayer mp=新的MediaPlayer();
mp.setDataSource(path+mylist.getItemAtPosition(position.toString());
mp.prepare();
下院议员play();
}
});

}

检查一下,我知道这一点,这解释了我的解决方案,但是你能检查一下我的代码并更新你的答案吗?等我键入这一点,路径是什么?尝试System.out.println(path+mylist.getItemAtPosition(position).toString())并注释“mylist是什么?”,如果我改为myList,那么它将显示创建一个名为setDataResource的Methodos。myList是listView的名称,我忘记添加mp.setDataSource();