java - 无法让这个数组工作

标签 java android

我想为我的 Android 应用程序创建一个按钮网格。我使用传统的 for 循环来创建它,它通常适用于其他语言等。但是当我测试我的应用程序时,它不会响应并在页面加载时关闭。我该如何解决这个问题...

but = new Button[4][4];
linearLayout = (ViewGroup) findViewById(R.id.buttonlayout);
for (int r = 0; r<but.length; r++) {
   for (int c = 0; c<but.length; c++) {
      but[r][c].setLayoutParams(new LinearLayout.LayoutParams(20, 20));
      but[r][c] = new Button(this);
      but[r][c].setX(20 * r);
      but[r][c].setY(20 * c);
      but[r][c].setText(" ");
      linearLayout.addView(but[r][c]);
   }
}

最佳答案

but = new Button[4][4];
linearLayout = (ViewGroup) findViewById(R.id.buttonlayout);
for (int r = 0; r<but.length; r++){
for (int c = 0; c<but.length; c++){
but[r][c] = new Button(this); // you should create your object before set layout!!
but[r][c].setLayoutParams(new LinearLayout.LayoutParams(20, 20));
but[r][c].setX(20 * r);
but[r][c].setY(20 * c);
but[r][c].setText(" ");
linearLayout.addView(but[r][c]);

关于java - 无法让这个数组工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17221409/

相关文章:

android - 没有物理按键的Android系统如何使用monkey命令?

java - 一个方法是protected的,但是我通过反射得到了该方法的修饰符,该修饰符是public的。 IDE是Android Studio

Java 多线程多请求方法

java - junit 流图 Java 8

java - 如何创建计时器任务的新实例而不是取消并重新启动它?

java - Android CountDownTimer - 添加时间导致多个计时器运行

java - 无法解析符号 "tensorflow"flutter 框架

java - 从实用程序方法返回 PreparedStatement 是一种好习惯吗?

java - 如何让图片回弹时减慢速度

android - 如何在android项目中搜索方法或变量名?