Reputation: 39
I want to make playvideo using Exoplayer, but I have a little bit problem with how to access my extension function.
import com.google.android.exoplayer2.ui.PlayerView
class playerViewadapter {
companion object{
fun PlayerView.loadView(){
}
}
}
but loadView
extension from my AppCompatActivity
not show
class Test:AppCompatActivity(){
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.test)
playerViewadapter.loadView()
}
}
How to call loadView
from my AppCompatActivity
Upvotes: 1
Views: 177
Reputation: 9852
Why You define extension function in a companion object of another class? Isn't it better to define it in the file Where You have PlayerView
or if it is not Your class, create a new file for utils functions?
class PlayerView
{
}
fun PlayerView.loadView()
{
}
And then You can call this function:
val playerView = PlayerView()
playerView.loadView()
Upvotes: 0
Reputation: 8096
You have to be in context of the object in order to invoke something of it.
with(playerViewadapter) { }
or playerViewadapter.apply { }
should do it:
Example:
with(playerViewadapter) {
playerView.loadView()
}
Upvotes: 2