【发布时间】:2017-11-28 16:01:50
【问题描述】:
我目前正在开发一个应用程序,该应用程序将使用许多对象作为信息持有者(音乐事物 - 艺术家、歌曲、专辑封面 img 的 id 和第二张 img 的另一个 id)。
我认为最好创建“Track”类并使用它来制作对象并将它们存储在 ArrayList 中。
我创建了类,我创建了列表,但我无法访问它(我想根据当前的 Track 对象更改 ImageViews 和 TextViews)。
这是 Track 类:(Track.java 单独)
public class Track {
private String mNameArtist;
private String mNameTrack;
private int mTabResource;
private int mCoverResource;
public Track(String nameArtist, String nameTrack, int tabResourceId, int coverResourceId){
mNameArtist = nameArtist;
mNameTrack = nameTrack;
mTabResource = tabResourceId;
mCoverResource = coverResourceId;
}
public String getArtistName() {
return mNameArtist;
}
public String getTrackName() {
return mNameTrack;
}
public int getTabResourceId() {
return mTabResource;
}
public int getCoverResourceID() {
return mCoverResource;
}}
这里是 ArrayList 声明:(PlayActivity.java,在 onCreate 方法中)
ArrayList<Track> Tracks = new ArrayList<Track>();
Tracks.add(new Track("Artist Name", "Track Name", R.drawable.tabtemplate, R.drawable.testcover));
Tracks.add(new Track("Pink Floyd", "Comfortably Numb Solo 1", R.drawable.CNS1Tab, R.drawable.pink_floyd_the_wall));
还有更多职位,但你明白了。
到目前为止,一切似乎都运行良好。
当我想在另一个方法中(甚至在同一个 PlayActivity.java 中)访问它时,什么也没有发生或我看到错误。我尝试了许多不同的方法,但每一个都失败了。例如:
Track.getTabResource(); // can't even use the method.
Tracks.get(3); // does not work as well.
我只是不能在我的方法中使用对象或那个数组列表。键入时,“Tracks 数组”甚至不会出现在 Android Studio 中。 Track 可以,但我无法从 Array 访问位置。
总而言之,有没有其他方法可以在其他类和方法中使用我的 Objects (ArrayList) 项?
提前感谢您的帮助。
【问题讨论】:
-
Tracks是一个局部变量。使用字段代替(如Track中的mNameArtist)
标签: java class arraylist methods