我的Button
中有16个Activity
s,我必须初始化onCreate()中的那些。有没有办法在一行代码中初始化所有按钮?(循环等)代码应该从R.id.
布局和处理所有按钮XML
....
假设您将按钮命名为button_0, button_1, .. button_15
。你可以做:
for (int i = 0; i < 16; i++) {
int id = getResources().getIdentifier("button_"+i, "id", getPackageName());
button[i] = (Button) findViewById(id);
}
好吧,如果这些按钮中的所有16个都在一个视图或布局中,那么您可以执行以下操作。
ArrayList<View> allButtons;
allButtons = ((LinearLayout) findViewById(R.id.button_container)).getTouchables();
这假设你的容器(在这个例子中是LinearLayout
)不包含不是Touchable
的Button
。
Android Studio
的Intellij IDEA
插件,并通过1次点击从当前布局初始化所有视图对于android xamarin:
List<Button>() allButtons = new List<Button>();
for (int i = 1; i < 15; i++)
{
int id = this.Resources.GetIdentifier("btn" + i.ToString(), "id", this.PackageName);
Button btn = (Button)FindViewById(id);
allButtons.Add(btn);
}