我有一个关于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。 如何实现这一目标?
谢谢!
答案 0 :(得分:2)
将您的曲目放在ArrayList中。
ArrayList<int[]> trackList = new ArrayList<int[]>();
trackList.add(track1);
trackList.add(track2);
稍后
int[] track = trackList.get(1);
答案 1 :(得分:-1)
不要在checkpoint
中设置onCreate
变量。曲目在运行期间进行操作,对吧?您应该有一个名为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
数组添加到另一个数组/列表,并从该列表中访问它们。