【发布时间】:2014-02-24 18:38:27
【问题描述】:
所以我熟悉 OOP 和 java 基础知识。
不过,Android 的一些细微差别仍然让我无法理解。
我现在对我的一些课程的范围有一个真正的问题。这是一个例子:
在我的活动中,我引用了一个名为“Player”的自定义类,玩家可以做很多事情,包括绘制图块和放置图块。
我在我的活动中的 AVAILABLE_TILES 数组中保留了所有未绘制的可用图块的列表。这很重要,因为我在许多不同的情况下都会一直引用该列表。
这是我的问题。
这是我活动中的代码:
public void setUpPlayers(){
for (int i = 0; i < players.length; i++) {
players[i] = new Player(playerNames[i], 6000);
players[i].drawTile(1); //draw one tile
//find the ID for the tile just placed
String tileID = players[i].findTileIdByIndex(0); //first tile in thier tile pool
players.[i].placeTile(tileID);
Log.d(players[i].getName(), tileID);
}
}
这是“播放器”类的代码:
public void drawTile(int quantity){
//repeat for the total number of tiles being drawn
for (int i = 0; i < quantity; i++) {
//get a random tile ID from the list of available tiles
int randomTileIndex = RNG.nextInt(AVAILABLE_TILES.size());
String randomTileName = AVAILABLE_TILES.get(randomTileIndex);
//add this tile to the player's pool of tiles
addPlayerTile(randomTileName);
Log.d("AVAILABLE_TILE_REMOVED", String.valueOf(randomTileIndex));
//and remove that tile now from the available tiles list
AVAILABLE_TILES.remove(randomTileIndex);
}
}
如您所见,我有一个 ArrayList,其中包含每个可用图块的 ID。 (不在任何玩家池中,也不在棋盘上。)
问题是,由于 ArrayList 在活动中,我似乎无法在 Player.java 中引用它。
需要在Player.java中导入一些android相关的库吗?
在另一种情况下,我制作了一个自定义类“Tile”的数组,它扩展了 Button,并且在引用活动中的全局(静态)变量时没有问题。
那么解决办法是什么?
提前感谢您的帮助,
JRad
【问题讨论】: