我要做的是从网站上获取2个播放列表。但是当我得到列表时,它会填充第一个包含好项目的列表。而在第二个它放在第一,并增加第二....我不知道为什么。 所以我明白了:
conn = (HttpURLConnection) url.openConnection();
BufferedReader rd = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
parseMusic(rd,choice);
conn.disconnect();
并且我试图放入2个播放列表(不同时)。所以我称它为2次。网站上的查询返回wright列表。 它与PLchoice一起,在第一和第二种情况下......这就是为什么我得到第二个列表,第一个是第二个+第一个...为什么?
private void parseMusic(BufferedReader reader,int PLchoice) throws IOException {
String line=null;
while((line = reader.readLine()) != null) {
String[] values = line.split(",");
switch (PLchoice){
case 1: {
if(musicList != null) {
if(values[0].equals("null")) {
Log.e("ERROR", "no music found!");
} else {
int id = Integer.parseInt(values[0]);
String filename = values[1];
musicList.add(new Mp3(id, filename));
}
} else {
Log.e("ERROR", "MusicList = null");
}
}
case 3:{
if(secondList != null) {
if(values[0].equals("null")) {
Log.e("ERROR", "no music found!");
} else {
int id = Integer.parseInt(values[0]);
String filename = values[1];
secondList.add(new Mp3(id, filename));
}
} else {
Log.e("ERROR", "MusicList = null");
}
}
}
}
reader.close();
Log.e("playList","MP3 file muslist= "+musicList);
Log.e("playList added","MP3 file secondList= "+secondList);
}
答案 0 :(得分:1)
您需要在每个案例陈述中break
(括号也是不必要的)。
答案 1 :(得分:0)
这就是所谓的切换 - 通过。你需要在每个案例的正文结尾之后有一个break;
行,否则匹配案例之后的所有代码(包括其他案例)都将被执行。