mButton[i] = (Button)findViewById(R.id.button01+i);这样会出错的。最好的做法,是找到view遍历上面的button 放入数组

解决方案 »

  1.   

    能写个示范吗?
    我的本意是BUTTON太多,有几十个,这样,相似的代码要写几十次
    如果是上百,上千,怎么办?
    上面的6是我随意写的
      

  2.   

    我很想问下,R.class里面,button数组的int是连在一起的?
      

  3.   

    是的,连在一起的
    比如:button01 = 0x7f090000
         button02 = 0x79090001
           ...比如要不就没意义了啊
      

  4.   


    ArrayList<Button> buttonlist = null;
    ViewGroup viewgroup = (ViewGroup) this.findViewById(R.id.layout);// button的parent
    int N = viewgroup.getChildCount();
    for (int i = 0; i < N; i++) {
    View v = viewgroup.getChildAt(0);
    if (v instanceof Button) {
    buttonlist.add((Button) v);
    v.setOnClickListener(this);
    }
    }
      

  5.   

    楼上的方法是正确的,不过有个地方要修改下,应该是笔误了吧
    View v = viewgroup.getChildAt(0);
    改为
    View v = viewgroup.getChildAt(i);
    要不只对第一个BUTTON进行了操作
      

  6.   

    你这么做 知道哪个Button 对应的哪个Layout吗? 费解