如何从 EditText 设置路径资源?

How to set path resource from EditText?

我想通过在 EditText 中输入文件名来播放原始文件夹中的视频。 以下(静态)代码有效。但是如何用 EditText?

的输入替换 R.raw-name
String path = "android.resource://" + getPackageName() + "/" + R.raw.howtogetthisfromedittext;
videoView.setVideoURI(Uri.parse(path));
videoView.start();

播放原始文件夹中的视频

VideoView view = (VideoView)findViewById(R.id.videoView);
String path = "android.resource://" + getPackageName() + "/" + R.raw.video_file;
view.setVideoURI(Uri.parse(path));
view.start();

在您的 xml 文件中创建 videoView。您的视频名称已放置在 video_file.

的位置

您需要资源的标识符才能工作,可以使用以下方法按名称检索:

int id = getResources().
    getIdentifier("name_of_resource", "id", getPackageName());

因此您的新代码将变为:

int videoResource = getResources().
    getIdentifier("video1", "raw", getPackageName());
String path = "android.resource://" + getPackageName() + "/" + videoResource;

已编辑: 您只需使用此行代码即可获得 Edittext 字符串值:

   String video_name= edittext.gettext().tostring();

将上一个回答问题的所有部分放在一起。

要从 EditText 获取文本,请使用该代码:

final String videoName = editText.getText().toString();

之后,您可以使用 videoName 作为 raw 文件夹中的文件名,如下所示:

final int videoResource = getResources().getIdentifier(videoName, "raw", getPackageName());
final String path = "android.resource://" + getPackageName() + "/" + videoResource

然后你可以把path放到你的VideoView:

videoView.setVideoURI(Uri.parse(path));

现在您可以在 EditText 中写入 test1,然后将使用视频 R.raw.test1

字符串字 = et1.getText().toString();

    int videoResource = getResources().
            getIdentifier(word, "raw", getPackageName());
    String path = "android.resource://" + getPackageName() + "/" + videoResource;
    videoview.setVideoURI(Uri.parse(path));
    videoview.start();