如何在Android上一次性获取所有按钮ID

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Android上一次性获取所有按钮ID相关的知识,希望对你有一定的参考价值。

我的Button中有16个Activitys,我必须初始化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)不包含不是TouchableButton

另一答案
  1. 使用Butterknife视图注射库
  2. 下载Android ButterKnife Zeleznyandroid StudioIntellij 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);

}

以上是关于如何在Android上一次性获取所有按钮ID的主要内容,如果未能解决你的问题,请参考以下文章

Android 按钮布局 - 在整个屏幕上并排获取两个按钮

如何从 android 包中的资源 id 获取 Drawable 对象?

如何在 Android 中获取联系人的所有详细信息

如何在android中旋转按钮的文本?

如何在Android Java中通过按钮的ID使用OnClickListener属性

如何在android上获取按钮的背景颜色?