我是android编程的新手,我在从另一个类和媒体播放器开始新活动时遇到了问题。我的活动类有一个媒体控制器。 我试着像这样调用这个活动:
public void Collide(FlxCore object1, FlxCore object2) {
player.kill();
Context mContext = null;
Intent myIntent = new Intent(mContext, soru.class);
mContext.startActivity(myIntent);
}
我的活动是:
public class soru extends Activity {
private VideoView mVideoView;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.soru);
mVideoView = (VideoView) findViewById(R.id.surface_view);
mVideoView.setVideoURI(Uri.parse("android.resource://"
+ getPackageName() + "/" + R.raw.arabaa));
mVideoView.setMediaController(new MediaController(this));
mVideoView.requestFocus();
}
}
然后问题是
12-07 13:14:54.675: W/dalvikvm(526): threadid=9: thread exiting with uncaught exception (group=0x40015560)
12-07 13:14:54.675: E/AndroidRuntime(526): FATAL EXCEPTION: Thread-10
12-07 13:14:54.675: E/AndroidRuntime(526): java.lang.NullPointerException
12-07 13:14:54.675: E/AndroidRuntime(526): at android.content.ComponentName.<init>(ComponentName.java:75)
12-07 13:14:54.675: E/AndroidRuntime(526): at android.content.Intent.<init>(Intent.java:2702)
12-07 13:14:54.675: E/AndroidRuntime(526): at org.myname.flixeldemo.GameState$3.Collide(GameState.java:101)
12-07 13:14:54.675: E/AndroidRuntime(526): at org.flixel.FlxG.overlapArrayList(FlxG.java:456)
12-07 13:14:54.675: E/AndroidRuntime(526): at org.myname.flixeldemo.GameState.update(GameState.java:95)
12-07 13:14:54.675: E/AndroidRuntime(526): at org.flixel.FlxGame.onEnterFrame(FlxGame.java:327)
12-07 13:14:54.675: E/AndroidRuntime(526): at org.flixel.FlxGameView$GameThread.run(FlxGameView.java:55)
12-07 13:14:54.815: E/MediaPlayer(526): pause called in state 64
12-07 13:14:54.815: E/MediaPlayer(526): error (-38, 0)
12-07 13:14:54.815: E/MediaPlayer(526): Error (-38,0)
12-07 13:19:54.830: I/Process(526): Sending signal. PID: 526 SIG: 9
我无法理解问题究竟是什么,我该如何解决。请帮助我。
答案 0 :(得分:0)
这个并不难理解。
您的错误指向NullPointerException,这意味着您正在尝试使用空的或不存在的对象。
快速查看代码可以发现问题:
Collide(FlxCore object1, FlxCore object2) {
player.kill();
Context mContext = null; // <<- You're creating an empty context object
Intent myIntent = new Intent(mContext, soru.class); // And then
mContext.startActivity(myIntent); // Use it for multiple functions
}
你不能使用那样的空对象。尝试使用this
或(yourclassname).this
代替null
。