Android 如何将声音文件链接到按钮?

Android 如何将声音文件链接到按钮?,android,button,audio,media-player,media,Android,Button,Audio,Media Player,Media,我插入了图像按钮,我知道如何获取图像,并且我在res>raw文件夹中有声音文件 如何将这些声音链接到每个按钮?我猜mediacontroller按钮有什么问题?(我在图形布局中) 其他问题: 我必须在main.xml和.java文件中进行编辑吗 我需要对manifest或r.java文件做些什么吗 有人知道一些非常棒的学习资源吗?(我已经在谷歌开发页面上详细介绍了每一个视频教程) 那么您可能已经阅读了有关的文档。您不需要MediaButtons,只需在每个按钮上应用一个简单的OnClickLi

我插入了图像按钮,我知道如何获取图像,并且我在
res>raw
文件夹中有声音文件

如何将这些声音链接到每个按钮?我猜mediacontroller按钮有什么问题?(我在图形布局中)

其他问题:

  • 我必须在main.xml和.java文件中进行编辑吗
  • 我需要对manifest或r.java文件做些什么吗
  • 有人知道一些非常棒的学习资源吗?(我已经在谷歌开发页面上详细介绍了每一个视频教程)

那么您可能已经阅读了有关的文档。您不需要MediaButtons,只需在每个按钮上应用一个简单的OnClickListener。 无需为此更改XML,也无需更改清单。只需将OnClickListeners应用于它们。 您可以对R.Java执行任何您想要的操作,因为在您更改XML中的某些内容、复制新资源或其他任何内容时,它都会被覆盖

因评论而编辑: 因此,如果您有像LinearLayout这样的RootView,您可以调用

LinearLayout yourRootLayout = findView....
int count = yourRootLayout.getChildCount();
for(int i = 0; i < count; i++){
    View v = yourRootLayout.getChildAt(i);
    if(v instanceof Button){
        Button b = (Button)v;
        b.setOnClickListener(this);
    }
}
linearlayourRootLayout=findView。。。。
int count=yourRootLayout.getChildCount();
for(int i=0;i
您只需让您的活动实现OnClickListener,并在onClick(View v)on Button.getId()中进行切换,然后将其与您的R.id.u标识符进行比较

编辑2:
我不知道它会还给你多少钱。检查一下。我假设它可以是直接的child,也可以是所有的child。 如果是每个孩子,你都会很开心,只需将线性布局切换到TableLayout即可。如果没有,您必须向TableLayout询问ChildCount,像上面那样迭代它们,但将它们转换为TableRow。然后向TableRow索要儿童用品,并收到您的纽扣

为每个按钮调用findViewById并为这10个按钮设置onClickListener可能更容易


是的,任何事情都可以在Java中完成,最好的学习资源是SDK附带的Android示例


显示了您要执行的操作的示例代码,您只需稍微修改即可。

好的,非常好的资源,谢谢!遇到了一些问题,但正在努力!好的,很有趣。如何将onclicklistener应用于每个按钮。(计划有10个按钮和10个声音)我刚读了你的编辑,想把头发拔出来退出…但我发誓要继续…我希望我能发布一个屏幕截图,但我必须等到我的代表转到10Ok,我在图形视图的线性布局中插入了一个tablelayout…然后我将按钮放在表格布局的每一行中…我是否只需要将上面的代码更改为tablelayout?或者否,因为表格布局在线性布局内?另外,这段代码会进入.java部分,对吗?而且有点不确定放在哪里如果是的话…谢谢你的帮助