我已经创建了一个View类,我需要来自mainActivity的上下文来创建我的mp3播放器。我的mainActivity上没有任何东西,我在View类上做了一切。我想做的例子:
if(player == null){
player = MediaPlayer.create(this, R.raw.onepieceost);
}
但是这段代码不起作用,因为“这个”不能从我的主要活动中获取上下文。我想知道如何处理这种情况。
答案 0 :(得分:1)
创建一个void function
并从MainActivity
这样调用:
public void player(Context context){
if(player == null){
player = MediaPlayer.create(context, R.raw.onepieceost);
}
if(player != null || !player.isPlaying()){
player.start();
}else {
player = new MediaPlayer();
try {
player.prepare();
player.start();
} catch (IOException e) {
//null
}
}
}
并从MainActivity
调用此函数,如下所示:
player(this);
OR
您可以在public constructor
中创建View class
并将context
从MainActivity
传递到View
类,如下所示:
public class myview{
Context myContext;
public myview(Context context){
myContext = context;
}
//your methods
}
答案 1 :(得分:-1)
我还会尝试让您的View类成为MainActivity的子类:)