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

休言女子非英物,夜夜龙泉壁上鸣。这篇文章主要讲述如何在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 Zelezny或android StudioIntellij IDEA插件,并通过1次点击从当前布局初始化所有视图
另一答案【如何在Android上一次性获取所有按钮ID】对于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); }


    推荐阅读