我的代码是
package add;
public class Addfunction {
MediaPlayer _mediaPlayer;
Context context;
public void playFromResource (int resId) {
if (_mediaPlayer != null) {
_mediaPlayer.reset();
}
_mediaPlayer = MediaPlayer.create(context, resId);
_mediaPlayer.start();
_mediaPlayer.setLooping(true);
new Handler().postDelayed(new Runnable()
{
@Override public void run()
{
if(_mediaPlayer!=null && _mediaPlayer.isLooping())
_mediaPlayer.stop();
}
}, 60000);
}
}
下一个包含
package com.example.demoo;
import add.Addfunction;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Addfunction ring=new Addfunction();
ring.playFromResource(R.raw.beep);
}
在运行程序时显示"不幸的是应用程序已停止"。 Log cat显示Null指针异常 请帮我识别我的错误。
答案 0 :(得分:1)
您的上下文为null
,使用您的方法传递上下文
ring.playFromResource(R.raw.beep,this);
并将其分配给Addfunction类中的上下文。