以编程方式更改变量标识符



我有一个关于Android的问题,我一直在努力解决。在我的 android 项目中,有一个名为 Tracks 的类.java在这个类中,有像这样的静态 int[]:

public class Tracks(){
static int[] Track1 = {1, 2, 3, 4, 5}
static int[] Track2 = {6, 7, 8, 9, 10}
.....
static int[] Track10 = {45, 46, 47, 48, 49}
} 

在另一个名为 Race 的类中.java我需要使用这些 int[],具体取决于当前使用的轨道编号。

public class License extends Activity implements OnClickListener{
        int TrackNO = 1;
        int checkpoint;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
        checkpoint = Tracks.Track1[0]; //Now checkpoint == 1;
        }

如果我现在将 TrackNO 更改为 2,那么 int 检查点应该 == 6。如何实现这一点?

谢谢!

将您的曲目放入 ArrayList 中。

ArrayList<int[]> trackList = new ArrayList<int[]>();
trackList.add(track1);
trackList.add(track2);

int[] track = trackList.get(1);

不要在 onCreate 中设置 checkpoint 变量。轨道在运行时会追逐,对吧?您应该有一个方法,例如,changeTrack(int track)

public void changeTrack(int track) {
    switch(track) {
    case 1:
        checkpoint = Tracks.Track1[0];
        break;
    case 2:
        checkpoint = Tracks.Track2[0];
        break;
    ....
    }
}

或者,您可以将所有Track数组添加到另一个数组/列表中,并从该列表访问它们。

最新更新