如何在android中动态播放音频文件
我有一个动态的音频文件列表,它存储在sd卡的一个特定文件夹中,当用户单击一个特定文件时,我将在onItemClick方法中的int中获得位置我需要创建一个带有两个按钮的警报对话框,第一个按钮是播放该特定位置的特定文件,第二个按钮是删除该文件。如何做到这一点?使用如何在android中动态播放音频文件,android,audio,android-intent,Android,Audio,Android Intent,我有一个动态的音频文件列表,它存储在sd卡的一个特定文件夹中,当用户单击一个特定文件时,我将在onItemClick方法中的int中获得位置我需要创建一个带有两个按钮的警报对话框,第一个按钮是播放该特定位置的特定文件,第二个按钮是删除该文件。如何做到这一点?使用onItemClickListener注册您的列表,并在该方法中填充一个有2个按钮的对话框 下面是一些代码: mylistview.setOnItemClickListener(new OnItemClickListener() {
onItemClickListener
注册您的列表,并在该方法中填充一个有2个按钮的对话框
下面是一些代码:
mylistview.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View view, int position,
long id) {
String file_path_in_the_sd_card = YOURADAPTER.getFilePathAtPosition(position);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Option")
.setCancelable(false)
.setPositiveButton("Play", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//start the activity the will play the song and provide the path to it
}
})
.setNegativeButton("Delete", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//make a code that will delete the file maybe like this
File file = new File(file_path_in_sd_card);
file.delete();
//remove it aslo from your adapter
myadpter.removeFile(poistion);
myadpater.notifyDataSetChange();
dialog.cancel();
}
});
AlertDialog alert = builder.create();
}
mylistview.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(适配器视图arg0、视图视图、内部位置、,
长id){
sd卡中的字符串文件路径=YOURADAPTER.getFilePathAtPosition(位置);
AlertDialog.Builder=新建AlertDialog.Builder(此);
builder.setMessage(“选项”)
.setCancelable(错误)
.setPositiveButton(“播放”,新的DialogInterface.OnClickListener(){
public void onClick(DialogInterface对话框,int-id){
//启动活动,播放歌曲并提供路径
}
})
.setNegativeButton(“删除”,新建DialogInterface.OnClickListener(){
public void onClick(DialogInterface对话框,int-id){
//制作一个删除文件的代码,可能像这样
文件文件=新文件(sd卡中的文件路径);
delete();
//将其从适配器上卸下
myadpter.removeFile(position);
myadpater.notifyDataSetChange();
dialog.cancel();
}
});
AlertDialog alert=builder.create();
}
这段代码帮助您思考如何做这项工作,但它不是一个完整的示例。String file\u path\u in\u the\u sd\u card=YOURADAPTER.getFilePathAtPosition(position);这一行给了我一个错误..你应该在你的适配器中实现这个方法,也许如果发布你的适配器代码,我会做一些对你有用的事情,在你的适配器中,我正在传递我的适配器的对象,但它给了我一个错误你的适配器没有这个方法,你应该定义它,发布你的适配器代码返回该vi的文件路径电子战项目:)