3 回答
TA贡献1827条经验 获得超9个赞
在strings.xml中创建一个字符串数组,其中包含按钮的id作为字符串,例如:
<string-array name="buttonids">
<item>abc</item>
<item>def</item>
<item>ghi</item>
</string-array>
然后在您的活动中,获取此数组,并为每个字符串ID获取带有按钮的整数ID getIdentifier()。
然后通过findViewById()获取对每个按钮的引用并设置侦听器:
String[] buttonids = getResources().getStringArray(R.array.buttonids);
for (String buttonid : buttonids) {
final String name = buttonid;
int id = getResources().getIdentifier(name, "id", getPackageName());
Button button = findViewById(id);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
audiotoplay = name;
playAudio(audiotoplay);
}
});
}
我假设像您的示例代码中一样,您将把每个按钮的字符串ID分配给变量audiotoplay。
如果您在应用中添加或删除按钮,则唯一要做的更改就是从中的数组添加或删除其字符串ID strings.xml。
添加回答
举报