[英]New error on my Android app
I received an error from a user that says: 我收到来自用户的错误消息:
java.lang.NullPointerException
at com.jcolom.olakease.MainActivity$1.onClick(MainActivity.java:54)
at android.view.View.performClick(View.java:2408)
at android.view.View$PerformClick.run(View.java:8816)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4633)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
at dalvik.system.NativeStart.main(Native Method)
My MainActivity is like this: 我的MainActivity是这样的:
package com.jcolom.olakease;
import android.os.Bundle;
import android.app.Activity;
import java.io.InputStream;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;
import com.colom.ola.ke.ase.R;
public class MainActivity extends Activity {
public Button olakease_button1;
public Button olakease_button2;
public Button olakease_button3;
public Button olakease_button4;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
olakease_button1 = (Button)findViewById(R.id.olakease_button1);
olakease_button2 = (Button)findViewById(R.id.olakease_button2);
olakease_button3 = (Button)findViewById(R.id.olakease_button3);
olakease_button4 = (Button)findViewById(R.id.olakease_button4);
InputStream fraw = null;
fraw = getResources().openRawResource(R.raw.olakease1);
fraw = getResources().openRawResource(R.raw.olakease2);
fraw = getResources().openRawResource(R.raw.olakease3);
olakease_button1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
MediaPlayer mp = MediaPlayer.create(getBaseContext(),
R.raw.olakease1);
mp.start();
}
});
olakease_button2.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
MediaPlayer mp = MediaPlayer.create(getBaseContext(),
R.raw.olakease2);
mp.start();
}
});
olakease_button3.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
MediaPlayer mp = MediaPlayer.create(getBaseContext(),
R.raw.olakease3);
mp.start();
}
});
olakease_button4.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
MediaPlayer mp = MediaPlayer.create(getBaseContext(),
R.raw.olakease4);
mp.start();
}
});
}
}
And my AndroidManifest is: 我的AndroidManifest是:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.colom.ola.ke.ase"
android:versionCode="2"
android:versionName="1.1" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="16" />
<application
android:allowBackup="true"
android:icon="@drawable/icono"
android:label="@string/app_name"
android:theme="@style/AppTheme"
android:screenOrientation="portrait"
android:name="MainActivity">
<activity
android:name="com.jcolom.olakease.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
What I have to do ?? 我该怎么办?? Is it normal?
正常吗 Please, if you want to try my app on your mobile devices.. here it is the Play Store link: https://play.google.com/store/apps/details?id=com.colom.ola.ke.ase&feature=more_from_developer#?t=W251bGwsMSwyLDEwMiwiY29tLmNvbG9tLm9sYS5rZS5hc2UiXQ ..
请,如果您想在移动设备上尝试我的应用程序,请点击这里。这是Play商店链接: https : //play.google.com/store/apps/details?id=com.colom.ola.ke.ase&feature = more_from_developer#?t = W251bGwsMSwyLDEwMiwiY29tLmNvbG9tLm9sYS5rZS5hc2UiXQ ..
在所有位置编写MainActivity.this
而不是getBaseContext()
,它将解决您的问题。
MediaPlayer mp = MediaPlayer.create(getBaseContext(),R.raw.olakease1);
替换为MainActivity.this作为
MediaPlayer mp = MediaPlayer.create(MainActivity.this, R.raw.olakease1);
MediaPlayer.create can return null if creation failed. 如果创建失败,MediaPlayer.create可以返回null。 It may fail because it couldn't find the media or its an invalid format.
由于找不到媒体或其无效格式,它可能会失败。 http://developer.android.com/reference/android/media/MediaPlayer.html
http://developer.android.com/reference/android/media/MediaPlayer.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.