将 VideoView Url 传递给 Android 中的模型 class
Passing VideoView Url to model class in Android
一些 Url 地址、图块和文本在 strings.xml 文件中声明。我想使用 mvc 架构。
在模型 class 中,构造函数 class 获取输入的资源 ID。于是给出了title、text和url的资源id。
在控制器 class 中创建了模型 class 的数组。在下面的代码中,当我想将 setText 设置为 TextView 时,它可以工作,但是当我想为 VideoView 设置 Url 时(mFilmUrlId.setVideoURI(内容)) 不起作用。
它说:
setVideoURI 不能应用于 int.
private Content[] mContentBank = new Content[]{
new Content(R.string.title_1,R.string.url_1,R.string.text_1),
new Content(R.string.title_2,R.string.url_2,R.string.text_2),
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_training);
int content;
mTitle = (TextView) findViewById(R.id.tainingTitle);
content = mContentBank[mCurrentIndex].getTitle();
mTitle.setText(content);
mFilmUrlId = (VideoView) findViewById(R.id.tainingVideoView);
content = mContentBank[mCurrentIndex].getFilmUrlId();
mFilmUrlId.setVideoURI(content); /// ????????????
<string name="text_1"> https://as9.asset.aparat.com/aparat-video/a_4c13e4fj00iihk43661kg30if959g5j5f35304191771-968u__58a42.mp4
</string>
型号class
public class Content {
private int mTitle;
private int mFilmUrlId;
private int mTextResId;
public Content(int title, int filmUrlId, int textResId ){
mTitle=title;
mFilmUrlId=filmUrlId;
mTextResId=textResId;
}
//getter &setters
}
setVideoURI() 将 Uri 作为参数,但您试图传递整数 R.string.url_1。您需要将 R.string.url_1 转换为 String 然后解析为 Uri.
content = mContentBank[mCurrentIndex].getFilmUrlId();
String url = getString(content);
mFilmUrlId.setVideoURI(Uri.parse(url));
一些 Url 地址、图块和文本在 strings.xml 文件中声明。我想使用 mvc 架构。
在模型 class 中,构造函数 class 获取输入的资源 ID。于是给出了title、text和url的资源id。
在控制器 class 中创建了模型 class 的数组。在下面的代码中,当我想将 setText 设置为 TextView 时,它可以工作,但是当我想为 VideoView 设置 Url 时(mFilmUrlId.setVideoURI(内容)) 不起作用。
它说:
setVideoURI 不能应用于 int.
private Content[] mContentBank = new Content[]{
new Content(R.string.title_1,R.string.url_1,R.string.text_1),
new Content(R.string.title_2,R.string.url_2,R.string.text_2),
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_training);
int content;
mTitle = (TextView) findViewById(R.id.tainingTitle);
content = mContentBank[mCurrentIndex].getTitle();
mTitle.setText(content);
mFilmUrlId = (VideoView) findViewById(R.id.tainingVideoView);
content = mContentBank[mCurrentIndex].getFilmUrlId();
mFilmUrlId.setVideoURI(content); /// ????????????
<string name="text_1"> https://as9.asset.aparat.com/aparat-video/a_4c13e4fj00iihk43661kg30if959g5j5f35304191771-968u__58a42.mp4
</string>
型号class
public class Content {
private int mTitle;
private int mFilmUrlId;
private int mTextResId;
public Content(int title, int filmUrlId, int textResId ){
mTitle=title;
mFilmUrlId=filmUrlId;
mTextResId=textResId;
}
//getter &setters
}
setVideoURI() 将 Uri 作为参数,但您试图传递整数 R.string.url_1。您需要将 R.string.url_1 转换为 String 然后解析为 Uri.
content = mContentBank[mCurrentIndex].getFilmUrlId();
String url = getString(content);
mFilmUrlId.setVideoURI(Uri.parse(url));