Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何根据ListView项目将原始音乐文件定位到播放位置_Java_Android - Fatal编程技术网

Java 如何根据ListView项目将原始音乐文件定位到播放位置

Java 如何根据ListView项目将原始音乐文件定位到播放位置,java,android,Java,Android,单击ListView的某个项目后,它会在NewActivity.java中显示完整的歌词文本。在这个类NewActivity.java中,我设置了MediaPlayer,它从原始文件夹中提取音乐文件数据。最大的挑战是在这里使用listview项将声音文件设置到位,并使用播放意图将它们发送到NewActivity 我想知道这样一种情况:点击song001打开NewActivity,然后点击play按钮播放声音文件R.raw.song_1为song 001 这是我尝试的结果,它给了我错误 inten

单击ListView的某个项目后,它会在
NewActivity.java
中显示完整的歌词文本。在这个类
NewActivity.java
中,我设置了MediaPlayer,它从原始文件夹中提取音乐文件数据。最大的挑战是在这里使用listview项将声音文件设置到位,并使用播放意图将它们发送到NewActivity

我想知道这样一种情况:点击
song001
打开NewActivity,然后点击play按钮播放声音文件R.raw.song_1song 001

这是我尝试的结果,它给了我错误 intent.putExtra(“位置”,modellist.get(i).soundfile)

请帮帮我。谢谢

ListViewAdapter.java

//歌曲的listview声音文件已就位
soundfile=newint[]{R.raw.song_1,R.raw.song_2,R.raw.song_3,R.raw.song_4,R.raw.song_5,R.raw.song_6,R.raw.song_7,R.raw.song_8,};
//listview项目单击
view.setOnClickListener(新的view.OnClickListener(){
@凌驾
公共void onClick(视图){
//稍后编码
意向意向=新意向(mContext,NewActivity.class);
intent.putExtra(“位置”,modellist.get(i).soundfile);
intent.putExtra(“actionBarTitle”,modellist.get(i.getTitle());
intent.putExtra(“brandNewDesc”,modellist.get(i).getBrandNewDesc());
mContext.startActivity(意图);
}
});
返回视图;

}
在此
intent.putExtra(“位置”,modellist.get(i).soundfile)中)
您的声音文件在
模型
类中未声明为公共。此外,您也不需要这样做,因为为此您有公共getter函数
getSoundfile()

因此,请按照下面的方法使用它,看看它是否解决了您的问题

intent.putExtra("position", modellist.get(i).getSoundfile());

如果这仍然不能解决您的问题,请发布您遇到的错误,以便我们了解问题。

您可以发布日志吗?我使用了public getter Function modellist.get(I).getSoundfile(),它抛出了NullPointerException。我编辑了我的问题并发布了日志。如果是NPE,您是否在模型列表中为每个模型的声音文件设置值。如果不是,为什么不从soundfile数组
intent.putExtra(“位置”,soundfile[i])发送文件同样从你的logcat来看,这似乎是一个ResourceNotFoundexception异常。我想我遇到了ResourceNotFoundexception。我要制作这个声音文件=newint[]{R.raw.song_1,R.raw.song_2,R.raw.song_3,R.raw.song_4,R.raw.song_5,R.raw.song_6,R.raw.song_7,R.raw.song_8,};作为string.xml中的数组???