我正在尝试显示贴图,但是当我运行我的应用时,屏幕上什么都没有:c
public class MainActivity extends Activity {
LinearLayout tileMap;
int width, height = 1;
int[][] map = {
{0,0,0,0,0},
{0,0,0,0,0},
{0,0,0,0,0},
{0,0,0,0,0},
{0,0,0,0,0}};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
tileMap = new LinearLayout(this);
generate(tileMap, this);
setContentView(tileMap);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
void generate(LinearLayout tileMap, Context context) {
for(int y = 0; y < height; y++) {
for(int x = 0 ; x < width; x++) {
ImageView tile = new ImageView(context);
tile.setImageResource(R.drawable.wall);
tileMap.addView(tile);
}
}
}
}
你能告诉我我的代码有什么问题吗? 我很确定生成函数中的问题...我已经尝试过做一个ImageView数组,但它也没有用! 谢谢:))
答案 0 :(得分:0)
问题在于:
int width, height = 1;
您认为宽度已初始化为1,但不是。实际上,它尚未初始化,int
的默认值为0。
因此,for(int x = 0 ; x < width; x++) {
永远不会投放,因为x < width
永远不会评估为true
。
初始化两者:
int width = 1;
int height = 1;