目前正在制作类似应用的音板。 Becouse我有大约60个声音需要很长时间才能为每一个创建功能。所以我遇到了想法,是否有可能检测出任何这些按钮然后获得它的ID?这将非常有用,因为按钮ID也是相应的音乐文件名。谢谢你的帮助。
答案 0 :(得分:0)
从这个问题来看,目前还不是很清楚你是在寻找一种方法来检索用你选择的ID字符串名称编码的信息,而不是简单地为你的所有按钮使用一个处理程序,getId
单独就足够了。
可以使用View.getResources().getResourceName(id)
从ID中提取视图ID 的资源名称。 (1)
结果是一个可重用的侦听器,它通过提取视图ID并查找资源名称来获取文件名:
View.OnClickListener mSoundClickListener = new View.OnClickListener() {
@Override
public void onClick(View view) {
String resourceName = view.getResources().getResourceName(view.getId());
mySoundHandler(resourceName);
}
};
然后,您可以将处理程序附加到每个按钮。
button1.setOnClickListener(mSoundClickListener);
button2.setOnClickListener(mSoundClickListener);
//....