Java 访问和使用自定义对象和ArrayList<;对象>;用不同的方法

Java 访问和使用自定义对象和ArrayList<;对象>;用不同的方法,java,class,arraylist,methods,Java,Class,Arraylist,Methods,我目前正在开发一个应用程序,该应用程序将使用许多对象作为信息持有者(音乐对象-艺术家、歌曲、专辑封面img的id以及第二个img的另一个id) 我决定最好创建“Track”类,并使用它生成对象并将它们存储在ArrayList中 我创建了类,创建了列表,但是访问它时遇到了问题(我想根据当前轨迹对象更改ImageView和TextView) 这是Track类:(Track.java独立) 下面是ArrayList声明:(PlayActivity.java,onCreate方法内部) 我只是不能在我的

我目前正在开发一个应用程序,该应用程序将使用许多对象作为信息持有者(音乐对象-艺术家、歌曲、专辑封面img的id以及第二个img的另一个id)

我决定最好创建“Track”类,并使用它生成对象并将它们存储在ArrayList中

我创建了类,创建了列表,但是访问它时遇到了问题(我想根据当前轨迹对象更改ImageView和TextView)

这是Track类:(Track.java独立)

下面是ArrayList声明:(PlayActivity.java,onCreate方法内部)

我只是不能在我的方法中使用对象或arraylist。“轨迹数组”甚至不会在Android Studio中显示。Track有,但我无法从阵列访问位置

总之,有没有其他方法可以在其他类和方法中使用我的对象(ArrayList)项?


提前感谢您的帮助。

创建列表作为实例变量,并通过该类的对象进行访问

public class PlayActivity {
        List<Track> tracks = new ArrayList<Track>();

        public void onCreate() {
            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));
        }

        public List<Track> getAllTracks() {
            return Collections.unmodifiableList(tracks);
        }

        public Track getTrack(int index) {
            return tracks.get(index);

        }
    }
公共课堂游戏活动{
List tracks=new ArrayList();
public void onCreate(){
添加(新曲目(“艺术家名称”,“曲目名称”,R.drawable.tabtemplate,R.drawable.testcover));
tracks.add(
新曲目(“粉红弗洛伊德”,“舒适麻木独奏1”,R.drawable.CNS1Tab,R.drawable.Pink_Floyd_the_wall));
}
公共列表getAllTracks(){
返回集合。不可修改列表(曲目);
}
公共轨道getTrack(整数索引){
返回轨道。获取(索引);
}
}

创建列表作为实例变量,并通过该类的对象进行访问

public class PlayActivity {
        List<Track> tracks = new ArrayList<Track>();

        public void onCreate() {
            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));
        }

        public List<Track> getAllTracks() {
            return Collections.unmodifiableList(tracks);
        }

        public Track getTrack(int index) {
            return tracks.get(index);

        }
    }
公共课堂游戏活动{
List tracks=new ArrayList();
public void onCreate(){
添加(新曲目(“艺术家名称”,“曲目名称”,R.drawable.tabtemplate,R.drawable.testcover));
tracks.add(
新曲目(“粉红弗洛伊德”,“舒适麻木独奏1”,R.drawable.CNS1Tab,R.drawable.Pink_Floyd_the_wall));
}
公共列表getAllTracks(){
返回集合。不可修改列表(曲目);
}
公共轨道getTrack(整数索引){
返回轨道。获取(索引);
}
}

轨道
是一个局部变量。。改为使用字段(如
mNameArtist
中的
Track
Tracks
是一个局部变量。。改用一个字段(如
mNameArtist
中的
Track
)好吧,谢谢你,伙计!这很有帮助。总的来说,我的代码和一切都很好,我只是犯了一个supersupid错误,在onCreate方法中声明了我的ArrayList,而它应该在外部,与其他变量一起。我没有将它从ArrayList更改为普通列表,我不确定是否有必要?不管怎样,它现在工作得很好,谢谢你的帮助。我真傻,我自己都没注意到:D.干杯!谢谢你,伙计!这很有帮助。总的来说,我的代码和一切都很好,我只是犯了一个supersupid错误,在onCreate方法中声明了我的ArrayList,而它应该在外部,与其他变量一起。我没有将它从ArrayList更改为普通列表,我不确定是否有必要?不管怎样,它现在工作得很好,谢谢你的帮助。我真傻,我自己都没注意到:D.干杯!
    Track.getTabResource();  // can't even use the method.
    Tracks.get(3);           // does not work as well.
public class PlayActivity {
        List<Track> tracks = new ArrayList<Track>();

        public void onCreate() {
            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));
        }

        public List<Track> getAllTracks() {
            return Collections.unmodifiableList(tracks);
        }

        public Track getTrack(int index) {
            return tracks.get(index);

        }
    }