我有一个LinearLayout包含几个Buttons,我用onCreate(..)方法将其添加到我的活动中。到目前为止还没有惊喜。
如何获取对这些按钮的迭代器的引用?我想向它们添加侦听器,但我不想直接使用它们的setContentView(R.layout.myscreen)引用按钮。
有人问过类似的问题herehere,但他们没有完全回答我的问题。

最佳答案

尝试类似这样的操作:在XML中提供一个ID根布局以进行线性布局

LinearLayout mLayout = (LinearLayout) findViewById(R.id.root_layout);
    for(int i = 0; i < mLayout.getChildCount(); i++)
    {
        Button mButton = (Button) mLayout.getChildAt(i);
        mButton.setOnClickListener(this);
    }

其中mlayout是线性布局的对象,您的活动必须实现OnClickListener,下面是通用侦听器
@Override
public void onClick(View v)
{
    Button mButton = (Button)v;
    String buttonText = mButton.getText().toString();

}

注意:要使其正常工作,线性布局必须只包含按钮而不包含其他视图

07-28 12:48