我需要从我的视图类中的主Activity获取上下文

时间:2018-06-15 18:23:39

标签: java android android-studio

我已经创建了一个View类,我需要来自mainActivity的上下文来创建我的mp3播放器。我的mainActivity上没有任何东西,我在View类上做了一切。我想做的例子:

    if(player == null){
        player = MediaPlayer.create(this, R.raw.onepieceost);
    }

但是这段代码不起作用,因为“这个”不能从我的主要活动中获取上下文。我想知道如何处理这种情况。

2 个答案:

答案 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并将contextMainActivity传递到View类,如下所示:

public class myview{

Context myContext;

public myview(Context context){
myContext = context;
}
//your methods
}

答案 1 :(得分:-1)

我还会尝试让您的View类成为MainActivity的子类:)