繁体   English   中英

一类Java Android中使用相同名称的方法

[英]Use methods of the same name in one class Java Android

我有一个应用程序可以使用视频视图显示视频流。

由于我要显示的视频格式不受Android版本<2.0的支持,因此我使用vitamio库在较旧的设备上显示视频。

但是,Vitamio比Android视频视图库慢得多,我不想在所有设备上都使用它。 我只想在较旧的机器上使用它。

但是,库的名称和方法是相同的:即

import android.media.MediaController;
import io.vov.vitamio.MediaController;

在该类中,我仅导入android Media控制器,然后访问vitamio,如下所示:

 io.vov.vitamio.widget.MediaController mediacontroller = new io.vov.vitamio.widget.MediaController(parentActivity); 

在我想要访问vitamio库的方法之一之前,它可以正常工作。 例如:

videoView.io.vov.vitamio.widget.VideoView.setVideoURI(video);

这不起作用,因为正确的用法是:

videoView.setVideoURI(video);

如果执行此操作,则将访问Android媒体播放器,并且代码不正确。 如何在相同的类中访问具有相同名称的方法。 我希望能够根据用户的设备使用这两种方法。

提前致谢。

videoView.io.vov.vitamio.widget.VideoView.setVideoURI(video);

这样,您试图以静态方式调用该方法。

你应该声明你videoView变量的实例videoView.io.vov.vitamio.widget.VideoView ,然后调用适当的方法:

// declaration of variable as an instance of the correct class
videoView.io.vov.vitamio.widget.VideoView videoView;
// now, use the method
videoView.setVideoURI(video);

检查您的类VideoView是否来自“ videoView.io.vov.vitamio.widget.VideoView”类型,而不是“ android.widget.VideoView”类型。

您不需要videoView.io.vov.vitamio.widget.VideoView.setVideoURI(video) ,它应该是videoView.setVideoURI(video) ,其中videoView的类型为io.vov.vitamio.widget.VideoView

如果是Object ,则可以显式转换: ((io.vov.vitamio.widget.VideoView)myObject).setVideoURI(video)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM