- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当在类的开头使用上下文和资源初始化 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/
Tôi muốn hiểu phương thức methods() của Ruby hoạt động như thế nào. Tôi đã thử tìm kiếm trên Google bằng "phương pháp ruby", nhưng đó không phải là những gì tôi cần. Tôi cũng đã xem ruby-doc.org nhưng không tìm thấy phương pháp này.
Phương thức Test thực hiện tìm kiếm biểu thức chính quy trên chuỗi đã chỉ định và trả về giá trị Boolean cho biết liệu có tìm thấy kết quả khớp hay không. object.Test(string) Tham số object Bắt buộc. Luôn luôn là một
Phương pháp Thay thế thay thế văn bản được tìm thấy trong tìm kiếm biểu thức chính quy. object.Replace(string1, string2) Tham số object Bắt buộc. Luôn luôn là tên của đối tượng RegExp.
Phương thức Raise tạo ra một đối tượng lỗi thời gian chạy. Raise(số, nguồn, mô tả, tệp trợ giúp, ngữ cảnh trợ giúp) Đối tượng tham số phải là
Phương thức Execute thực hiện tìm kiếm biểu thức chính quy trên chuỗi đã chỉ định. object.Execute(string) Tham số object Bắt buộc. Luôn luôn là tên của đối tượng RegExp. sợi dây
Phương thức Clear xóa tất cả các thiết lập thuộc tính của đối tượng Err. object. Đối tượng xóa phải là tên của đối tượng Err. Mô tả Sau khi xử lý lỗi, sử dụng Clear để xóa rõ ràng đối tượng Err. cái này
Phương pháp CopyFile sao chép một hoặc nhiều tệp từ vị trí này sang vị trí khác. object.CopyFile nguồn, đích[, ghi đè] Đối tượng tham số bắt buộc
Phương pháp Copy sao chép một tệp hoặc thư mục được chỉ định từ vị trí này sang vị trí khác. object.Copy destination[, ghi đè] Tham số object Bắt buộc. Tệp hoặc F dự kiến
Phương thức Close đóng tệp TextStream đã mở. Đối tượng object.Close phải là tên của đối tượng TextStream. Ví dụ sau minh họa cách sử dụng phương thức Close.
Phương thức BuildPath thêm tên vào đường dẫn hiện có. object.BuildPath(path, name) Tham số object Bắt buộc. Phải là tên của đối tượng FileSystemObject
Phương thức GetFolder trả về một đối tượng Folder tương ứng với một thư mục trong đường dẫn đã chỉ định. object.GetFolder(folderspec) Tham số object Bắt buộc. Nên là FileSy
Phương thức GetFileName trả về tệp hoặc thư mục cuối cùng trong đường dẫn đã chỉ định (không phải phần đường dẫn ổ đĩa đã chỉ định). object.GetFileName(pathspec) Tham số object Bắt buộc. Nên là
Phương thức GetFile trả về một đối tượng File tương ứng với một file trong đường dẫn đã chỉ định. object.GetFile(filespec) Tham số object Bắt buộc. FileSystemObject mong đợi
Phương thức GetExtensionName trả về một chuỗi chứa phần mở rộng của thành phần cuối cùng của đường dẫn. object.GetExtensionName(path) Tham số object Bắt buộc. trả lời
Phương thức GetDriveName trả về một chuỗi chứa tên ổ đĩa trong đường dẫn đã chỉ định. object.GetDriveName(path) Tham số object Bắt buộc. Nên là FileSystemObject
Phương thức GetDrive trả về một đối tượng Drive tương ứng với ổ đĩa trong đường dẫn đã chỉ định. object.GetDrive tham số drivespec đối tượng Bắt buộc. Nên là FileSystemO
Phương thức GetBaseName trả về một chuỗi chứa tên cơ sở (không có phần mở rộng) của tệp hoặc thư mục trong thông số đường dẫn được cung cấp. object.GetBaseName(path) Tham số object Bắt buộc
Phương thức GetAbsolutePathName trả về đường dẫn đầy đủ và rõ ràng từ đường dẫn được chỉ định. object.GetAbsolutePathName(pathspec) Đối tượng tham số
Phương thức FolderExists trả về True nếu thư mục được chỉ định tồn tại; nếu không, nó trả về False. object.FolderExists(folderspec) Tham số object Bắt buộc
Phương thức FileExists trả về True nếu tệp được chỉ định tồn tại; nếu không, nó trả về False. object.FileExists(filespec) Tham số object Bắt buộc. Nên là FileS
Tôi là một lập trình viên xuất sắc, rất giỏi!