如何通过单击android中的另一个动态按钮来禁用动态按钮

时间:2014-11-27 05:46:53

标签: android

我在android循环中动态创建4个按钮。在其他情况下,按钮的数量可以从四个增加。现在我尝试在单击一个按钮时禁用所有其他按钮。我试图通过按钮对象的数组来做到这一点。

Button btn[] = new Button[4];

for(int i=0;i<4;i++)
{
  TableLayout layout = (TableLayout)findViewById(R.id.tableForEvents);
  btn[i]=new Button(this);
  btn[i].setID(i);
  btn[i].setText("Button"+i);
  layout.addView(btn[i]);
  btn[i].setText(i);  
 }

此代码给我一个空指针异常,导致应用程序崩溃。所以我无法执行启用或禁用的下一个操作。请告诉我解决方案或是否有另一种方法来解决这个问题

1 个答案:

答案 0 :(得分:0)

确保R.id.tableForEvents存在于活动的当前布局中。 你应该将布局设为null

还将以下代码移到for循环之外(无需多次实例化。)

TableLayout layout = (TableLayout)findViewById(R.id.tableForEvents);
相关问题