问题:intentPlayer.getSingerOrigin() 为空,显示不了歌手信息。代码:TextView artistOrigin=(TextView) view.findViewById(R.id.play_infodetail_textView);
if(intentPlayer!=null){
System.out.println("intentPlayer + xinxi------->" + intentPlayer);
System.out.println(intentPlayer.getSingerOrigin()+" +++++++++++++");
if (intentPlayer.getSingerName() != null) {
artistText.setText(intentPlayer.getSingerName());
}
if(intentPlayer.getSingerOrigin()!=null){
artistOrigin.setText(intentPlayer.getSingerOrigin());
}else{
artistOrigin.setText("���������Ϣ");
}
}
return view;
我打印了一下intentPlayer是有值的,但是intentPlayer.getSingerName() 就是空值了,getSingerName()这是一个实体类中的方法,按说不会出错啊,这是为什么呢?log:07-21 00:08:24.891: I/System.out(4523): intentPlayer + xinxi------->Player [id=7002, songName=睡火山, singerName=许志安, songUri=http://110.81.238.163:8080/music\source\xuzhian-shuihuoshan.mp3, totalTime=0, albumName=null, lrcId=null, albumCount=null, singerCount=0]
07-21 00:08:24.911: I/System.out(4523): null +++++++++++++
07-21 00:08:24.931: I/sessionid(4523): 22[]
07-21 00:08:25.641: D/dalvikvm(4523): GC_FOR_MALLOC freed 10889 objects / 476144 bytes in 409ms
07-21 00:08:25.721: D/skia(4523): --- decoder->decode returned false
07-21 00:08:25.721: W/System.err(4523): java.lang.NullPointerException
07-21 00:08:25.721: W/System.err(4523): at com.bxdm.xiuman.util.ImageLoader.loadImageFromUrl(ImageLoader.java:51)
07-21 00:08:25.721: W/System.err(4523): at com.bxdm.xiuman.util.ImageLoader$LoadImage.run(ImageLoader.java:72)PS:有的歌手信息不为空,有的为空,这个是固定的。在此贴的是为空的。
if(intentPlayer!=null){
System.out.println("intentPlayer + xinxi------->" + intentPlayer);
System.out.println(intentPlayer.getSingerOrigin()+" +++++++++++++");
if (intentPlayer.getSingerName() != null) {
artistText.setText(intentPlayer.getSingerName());
}
if(intentPlayer.getSingerOrigin()!=null){
artistOrigin.setText(intentPlayer.getSingerOrigin());
}else{
artistOrigin.setText("���������Ϣ");
}
}
return view;
我打印了一下intentPlayer是有值的,但是intentPlayer.getSingerName() 就是空值了,getSingerName()这是一个实体类中的方法,按说不会出错啊,这是为什么呢?log:07-21 00:08:24.891: I/System.out(4523): intentPlayer + xinxi------->Player [id=7002, songName=睡火山, singerName=许志安, songUri=http://110.81.238.163:8080/music\source\xuzhian-shuihuoshan.mp3, totalTime=0, albumName=null, lrcId=null, albumCount=null, singerCount=0]
07-21 00:08:24.911: I/System.out(4523): null +++++++++++++
07-21 00:08:24.931: I/sessionid(4523): 22[]
07-21 00:08:25.641: D/dalvikvm(4523): GC_FOR_MALLOC freed 10889 objects / 476144 bytes in 409ms
07-21 00:08:25.721: D/skia(4523): --- decoder->decode returned false
07-21 00:08:25.721: W/System.err(4523): java.lang.NullPointerException
07-21 00:08:25.721: W/System.err(4523): at com.bxdm.xiuman.util.ImageLoader.loadImageFromUrl(ImageLoader.java:51)
07-21 00:08:25.721: W/System.err(4523): at com.bxdm.xiuman.util.ImageLoader$LoadImage.run(ImageLoader.java:72)PS:有的歌手信息不为空,有的为空,这个是固定的。在此贴的是为空的。
你显示的并不是 getSingerName() 而是 getSingerOrigin() 吧另外就是,Debug跟踪下这个get方法里面是怎么回事。
get方法里是这样的:private String singerOrigin;
public String getSingerOrigin() {
return singerOrigin;
}
public void setSingerOrigin(String singerOrigin) {
this.singerOrigin = singerOrigin;
这不会有错吧新手啊,求指点
public String toString() {
return "Player [id=" + id + ", songName=" + songName + ", singerName="
+ singerName + ", songUri=" + songUri + ", totalTime="
+ totalTime + ", albumName=" + albumName + ", lrcId=" + lrcId
+ ", albumCount=" + albumCount + ", singerCount=" + singerCount
+ "]";
}
这个是自动生成的,
if(intentPlayer!=null){
System.out.println("intentPlayer + xinxi------->" + intentPlayer);
System.out.println(intentPlayer.getSingerOrigin()+" +++++++++++++");
if (intentPlayer.getSingerName() != null) {
artistText.setText(intentPlayer.getSingerName());
}
if(intentPlayer.getSingerName()!=null){
artistOrigin.setText(intentPlayer.getSingerOrigin());
}else{
artistOrigin.setText("���������Ϣ");
}
log:07-21 02:18:42.496: I/System.out(7788): intentPlayer + xinxi------->Player [id=7002, songName=睡火山, singerName=许志安, songUri=http://110.81.238.163:8080/music\source\xuzhian-shuihuoshan.mp3, totalTime=0, albumName=null, lrcId=null, albumCount=null, singerCount=0]
07-21 02:18:42.511: I/System.out(7788): null +++++++++++++
看set方法是否set进了正确的值,然后get方法,是否取了正确的值。
if(intentPlayer!=null){
System.out.println("intentPlayer + xinxi------->" + intentPlayer);
System.out.println(intentPlayer.getSingerName()+" +++++++SingerName++++++");
if (intentPlayer.getSingerName() != null) {
artistText.setText(intentPlayer.getSingerName());
} System.out.println(intentPlayer.getSingerOrigin()+" +++++++SingerOrigin++++++");
if(intentPlayer.getSingerOrigin()!=null){
artistOrigin.setText(intentPlayer.getSingerOrigin());
}else{
artistOrigin.setText("没有");
}
代码:public String getSingerOrigin() {
System.out.println("getSingerOrigin ----->" + singerOrigin);
return singerOrigin;
}
public void setSingerOrigin(String singerOrigin) {
System.out.println("setSingerOrigin ----->" + singerOrigin);
this.singerOrigin = singerOrigin;log:
07-21 02:54:45.611: I/System.out(8830): 11
07-21 02:54:45.621: I/System.out(8830): 1342827867800
07-21 02:54:45.621: I/System.out(8830): 000000000000000
07-21 02:54:45.642: I/System.out(8830): 1.0
07-21 02:57:08.681: I/System.out(8830): intentPlayer------>Player [id=7002, songName=睡火山, singerName=许志安, songUri=http://110.81.238.163:8080/music\source\xuzhian-shuihuoshan.mp3, totalTime=0, albumName=null, lrcId=null, albumCount=null, singerCount=0]
07-21 02:57:09.821: I/System.out(8830): intentPlayer+Name----->Player [id=7002, songName=睡火山, singerName=许志安, songUri=http://110.81.238.163:8080/music\source\xuzhian-shuihuoshan.mp3, totalTime=0, albumName=null, lrcId=null, albumCount=null, singerCount=0]
07-21 02:57:09.871: I/System.out(8830): intentPlayer + geshou------>Player [id=7002, songName=睡火山, singerName=许志安, songUri=http://110.81.238.163:8080/music\source\xuzhian-shuihuoshan.mp3, totalTime=0, albumName=null, lrcId=null, albumCount=null, singerCount=0]
07-21 02:57:09.901: I/System.out(8830): intentPlayer + xinxi------->Player [id=7002, songName=睡火山, singerName=许志安, songUri=http://110.81.238.163:8080/music\source\xuzhian-shuihuoshan.mp3, totalTime=0, albumName=null, lrcId=null, albumCount=null, singerCount=0]
07-21 02:57:09.962: I/System.out(8830): 许志安 +++++++SingerName++++++
07-21 02:57:09.962: I/System.out(8830): getSingerOrigin ----->null
07-21 02:57:09.962: I/System.out(8830): null +++++++SingerOrigin++++++
07-21 02:57:09.982: I/System.out(8830): getSingerOrigin ----->null
07-21 02:57:17.002: I/System.out(8830): 3
07-21 02:57:17.022: I/System.out(8830): 4
07-21 02:57:17.063: I/System.out(8830): Lyric file sdcard/xiuman/lyric
07-21 02:57:46.901: I/System.out(8830): setSingerOrigin ----->Daniel powter丹尼尔·波特(1971年2月25日-),亦作丹尼尔·帕德,加拿大唱作音乐人。
07-21 02:57:47.641: I/System.out(8830): intentPlayer------>Player [id=7175, songName=If Only I Could Cry, singerName=Daniel Powter, songUri=http://110.81.238.163:8080/music\source\danielpowter-ifonlyicouldcry.mp3, totalTime=0, albumName=null, lrcId=null, albumCount=null, singerCount=0]
07-21 02:57:47.762: I/System.out(8830): intentPlayer + geshou------>Player [id=7175, songName=If Only I Could Cry, singerName=Daniel Powter, songUri=http://110.81.238.163:8080/music\source\danielpowter-ifonlyicouldcry.mp3, totalTime=0, albumName=null, lrcId=null, albumCount=null, singerCount=0]
07-21 02:57:47.771: I/System.out(8830): intentPlayer+Name----->Player [id=7175, songName=If Only I Could Cry, singerName=Daniel Powter, songUri=http://110.81.238.163:8080/music\source\danielpowter-ifonlyicouldcry.mp3, totalTime=0, albumName=null, lrcId=null, albumCount=null, singerCount=0]
07-21 02:57:47.791: I/System.out(8830): intentPlayer + xinxi------->Player [id=7175, songName=If Only I Could Cry, singerName=Daniel Powter, songUri=http://110.81.238.163:8080/music\source\danielpowter-ifonlyicouldcry.mp3, totalTime=0, albumName=null, lrcId=null, albumCount=null, singerCount=0]
07-21 02:57:47.823: I/System.out(8830): Daniel Powter +++++++SingerName++++++
07-21 02:57:47.823: I/System.out(8830): getSingerOrigin ----->Daniel powter丹尼尔·波特(1971年2月25日-),亦作丹尼尔·帕德,加拿大唱作音乐人。
07-21 02:57:47.823: I/System.out(8830): Daniel powter丹尼尔·波特(1971年2月25日-),亦作丹尼尔·帕德,加拿大唱作音乐人。 +++++++SingerOrigin++++++
07-21 02:57:47.823: I/System.out(8830): getSingerOrigin ----->Daniel powter丹尼尔·波特(1971年2月25日-),亦作丹尼尔·帕德,加拿大唱作音乐人。
07-21 02:57:47.823: I/System.out(8830): getSingerOrigin ----->Daniel powter丹尼尔·波特(1971年2月25日-),亦作丹尼尔·帕德,加拿大唱作音乐人。
07-21 02:57:53.062: I/System.out(8830): 3
07-21 02:57:53.072: I/System.out(8830): 4
07-21 02:57:53.072: I/System.out(8830): Lyric file sdcard/xiuman/lyric上面第一个是不显示歌手信息的,第二个是显示歌手信息的。 怎么会有的set传入,有的不传入呢?
1、07-20 23:44:50.351: I/System.out(3790): intentPlayer------>Player [id=6865, songName=Settle Down, singerName=No Doubt, songUri=http://110.81.238.163:8080/music\source\nodoubt-settledown.mp3, totalTime=0, albumName=null, lrcId=null, albumCount=null, singerCount=0]2、07-20 23:46:13.092: I/System.out(3790): intentPlayer------>Player [id=7002, songName=睡火山, singerName=许志安, songUri=http://110.81.238.163:8080/music\source\xuzhian-shuihuoshan.mp3, totalTime=0, albumName=null, lrcId=null, albumCount=null, singerCount=0]第一个是可以显示歌手信息的intentPlayer值对象,第二个是不能显示的。 我没看出来有区别啊
@Override
public String toString() {
return "Player [id=" + id + ", songName=" + songName + ", singerName="
+ singerName + ", SingerOrigin=" + singerOrigin+ ", songUri=" + songUri + ", totalTime="
+ totalTime + ", albumName=" + albumName + ", lrcId=" + lrcId
+ ", albumCount=" + albumCount + ", singerCount=" + singerCount
+ "]";
}然后再观察就知道了。
/**
*
* @author Xuchunhui ����ʵ����
*
*/public class Player implements Serializable{
private String id;
private String songName;
private String singerName;
private String songUri;
private long totalTime;
private String albumName;
private Integer lrcId;
private String albumCount;
private int singerCount;
private String title;
private String albumId;
private String imageUrl;
//���
private String songlrc;
//���ֽ���
private String singerOrigin;
public String getSingerOrigin() {
System.out.println("getSingerOrigin ----->" + singerOrigin);
return singerOrigin;
}
public void setSingerOrigin(String singerOrigin) {
System.out.println("setSingerOrigin ----->" + singerOrigin);
this.singerOrigin = singerOrigin;
}
public String getSonglrc() {
return songlrc;
}
public void setSonglrc(String songlrc) {
this.songlrc = songlrc;
}
public String getImageUrl() {
return imageUrl;
}
public void setImageUrl(String imageUrl) {
this.imageUrl = imageUrl;
}
public String getAlbumId() {
return albumId;
}
public void setAlbumId(String albumId) {
this.albumId = albumId;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getSongName() {
return songName;
}
public void setSongName(String songName) {
this.songName = songName;
}
public String getSingerName() {
return singerName;
}
public void setSingerName(String singerName) {
this.singerName = singerName;
}
public String getSongUri() {
return songUri;
}
public void setSongUri(String songUri) {
this.songUri = songUri;
}
public long getTotalTime() {
return totalTime;
}
public void setTotalTime(long totalTime) {
this.totalTime = totalTime;
}
public String getAlbumName() {
return albumName;
}
public void setAlbumName(String albumName) {
this.albumName = albumName;
}
public Integer getLrcId() {
return lrcId;
}
public void setLrcId(Integer lrcId) {
this.lrcId = lrcId;
}
public String getAlbumCount() {
return albumCount;
}
public void setAlbumCount(String albumCount) {
this.albumCount = albumCount;
}
public int getSingerCount() {
return singerCount;
}
public void setSingerCount(int singerCount) {
this.singerCount = singerCount;
}
@Override
public String toString() {
return "Player [id=" + id + ", songName=" + songName + ", singerName="
+ singerName + ", SingerOrigin=" + singerOrigin+ ", songUri=" + songUri + ", totalTime="
+ totalTime + ", albumName=" + albumName + ", lrcId=" + lrcId
+ ", albumCount=" + albumCount + ", singerCount=" + singerCount
+ "]";
}
}