我如何重命名数组中的列表项?

时间:2016-04-13 13:01:45

标签: android arrays arraylist

基本上,我试图能够从数组列表重命名列表项。典型的arrayList.set(index, "something")在我的情况下没有多大帮助,因为我正在使用这样的类......

public class Song {

private long id;
private String title;
private String artist;

public Song(long songID, String songTitle, String songArtist) {
    id=songID;
    title=songTitle;
    artist=songArtist;
}

public long getID(){return id;}
public String getTitle(){return title;}
public String getArtist(){return artist;}

}

所以我猜测arrayList.set方法的第二个参数必须与这个类相关联,我不确定如何做到这一点。例如,如果我想更改标题,我会使用类似arrayList.set(index, Song(null, newTitle, null)的内容吗?

1 个答案:

答案 0 :(得分:2)

您可以向对象添加setter

class Song {

    // ...

    public void setTitle(String title){
        this.title = title;
    }

    public void setArtist(String artist){
        this.artist = artist;
    }
}

然后使用数组的get(int index)方法找到要重命名的歌曲。

arrayList.get(index).setTitle("new Title");
  

执行arrayList.set(index, Song(null, newTitle, null)不会重命名索引中已存在于数组中的现有歌曲。这将创建一个新歌曲并替换给定索引处的一个商店。

BTW new Song(null, newTitle, null)无法编译,因为您的id不能null