java - Android Java - 将 R.raw 中的所有文件名放入数组中,无需手动指定每个文件名

标签 java android media

我的问题有两部分,但两部分都是相关的。我找遍了所有地方,但找不到将 R.raw 中的所有文件名放入数组的方法,例如字符串格式的 MP3。

我还想用 Java 动态创建新按钮,而不是使用 XML 文件来布局按钮。

伪代码:

array[] = 将 R.raw 中的所有文件名与文件名一起放入此数组中;

count = 计算数组[]中的行数;

//我希望能够使用该数组执行此操作 for (int i = 0; i < 计数; i++) { 创建新按钮并为其分配声音(onclick); this.button 应该可以放置在我想要的任何地方,而不使用 XML 进行布局 }

预先感谢任何人可以提供的任何帮助!

最佳答案

简短回答:你不能。

长答案: R.raw 等是在构建时生成的,因此在代码中是静态的(您无法从您的应用程序)。基本上,R 只是一个看起来像这样的类:

package com.yourapp;
public class R {
    public class raw {
       public static final int file_1 = 123456; // where 123456 is the address where that file will be found
       public static final int file_2 = 789012;
       // ...
    }
}

因此,(据我所知)无法获取这些属性的数组。


我建议您使用 assets/ 目录而不是 R.raw。这样,您将能够使用 AssetManager.list() 获取文件列表(以及用于实际处理文件的其他 AssetManager 函数)。

关于java - Android Java - 将 R.raw 中的所有文件名放入数组中,无需手动指定每个文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3960187/

相关文章:

android - 如何从 StagefrightRecorder 中提取 Video Muxer 部分?

java - Cassandra - 使计数器更新和正常更新原子化

java - 打开方式...一个java程序

android - 使用 searchview 和搜索建议以及语音搜索过滤 recyclerview

android - 将 Android 通知图标设置为远程 URL

java - 将 ArrayList<Custom Object> 保存到本地存储

css - 未应用媒体查询(适用于 iPhone)部分;其他查询工作

css - @media 屏幕 css 属性不起作用

java - SQL命令如何将值附加(插入)到数据库中

java - 如何混合该方法以便显示所有因素?我还缺少一个因素