sách gpt4 ai đã đi

Tại sao MediaPlayer.create lại ném ngoại lệ NullPointer khi được khởi tạo ở đầu lớp nhưng lại không ném ngoại lệ khi được khởi tạo trong phương thức OnCreate?

In lại 作者:行者123 更新时间:2023-12-02 00:51:37 25 4
mua khóa gpt4 Nike

当在类的开头使用上下文和资源初始化 MediaPlayer 对象时,它会抛出 NullPointer 异常,但是当在类的开头声明它时(因此它是 null),然后以相同的方式初始化它在onCreate方法中,它起作用了。对于其他对象(例如 View ),这种情况也发生在我身上,我无法理解为什么,因为它是以相同的方式初始化的。

public class MainActivity extends AppCompatActivity {

//Commented code is how it is written to run without problems

// private MediaPlayer player;

private MediaPlayer player = MediaPlayer.create(this, R.raw.test); //Throws NullPointer Exception

@Ghi đè
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// player = MediaPlayer.create(this, R.raw.test);

setContentView(R.layout.activity_main);
}
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.android.musicplayer, PID: 17008
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.android.musicplayer/com.example.android.musicplayer.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3066

1 Câu trả lời

欢迎来到 Stackoverflow。

由于错误发生,tạo nên 方法需要上下文。此上下文仅在 Activity 的 khiTạo 方法上创建。也就是说,当您创建变量时,没有上下文,因为 khiTạo 尚未发生。

进行以下更改:

public class MainActivity extends AppCompatActivity {

//Commented code is how it is written to run without problems

// private MediaPlayer player;

private MediaPlayer player; //Remove the MediaPlayer.create from here

@Ghi đè
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// player = MediaPlayer.create(this, R.raw.test);

setContentView(R.layout.activity_main);

player = MediaPlayer.create(this, R.raw.test); //and put it here

}

关于java - 为什么 MediaPlayer.create 在类的开头初始化时会抛出 NullPointer 异常,而在 OnCreate 方法中初始化时不会抛出 NullPointer 异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57852857/

25 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com