我有一个LinearLayout
包含几个Button
s,我用onCreate(..)
方法将其添加到我的活动中。到目前为止还没有惊喜。
如何获取对这些按钮的迭代器的引用?我想向它们添加侦听器,但我不想直接使用它们的setContentView(R.layout.myscreen)
引用按钮。
有人问过类似的问题here和here,但他们没有完全回答我的问题。
最佳答案
尝试类似这样的操作:在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();
}
注意:要使其正常工作,线性布局必须只包含按钮而不包含其他视图