如何从EditText设置路径资源?

时间:2017-06-29 19:21:10

标签: android android-edittext android-videoview

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

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

4 个答案:

答案 0 :(得分:1)

从原始文件夹播放视频

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

答案 1 :(得分:1)

将以前回答的问题中的所有部分放在一起。

要从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));

现在,您可以在test1中撰写EditText,并使用视频R.raw.test1

答案 2 :(得分:1)

String word = et1.getText()。toString();

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

答案 3 :(得分:0)

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

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();