【发布时间】:2014-04-08 14:14:50
【问题描述】:
当我尝试使用 Intent 传递一些数据时,为什么我的应用会崩溃?
case 0:
Intent intent=new Intent(context, RMpro.class);
intent.putExtra("NAME", "Projectile!");
intent.putExtra("PATH", R.raw.s14projectil);
intent.putExtra("FILE", "Projectile.mp3");
((Activity)context).startActivity(intent);
break;
在 RMpro 活动中:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ringtone);
Intent i=this.getIntent();
final String C1 = getIntent().getStringExtra("PATH").trim();
final String A1 = getIntent().getStringExtra("NAME").trim();
final String B1 = getIntent().getStringExtra("FILE").trim();
为什么会这样? 我的日志猫:
04-08 16:07:34.811: E/AndroidRuntime(1174): FATAL EXCEPTION: main
04-08 16:07:34.811: E/AndroidRuntime(1174): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mostpopularalarmringtones/com.mostpopularalarmringtones.RMpro}: java.lang.NullPointerException
04-08 16:07:34.811: E/AndroidRuntime(1174): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2266)
04-08 16:07:34.811: E/AndroidRuntime(1174): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2316)
04-08 16:07:34.811: E/AndroidRuntime(1174): at android.app.ActivityThread.access$600(ActivityThread.java:150)
04-08 16:07:34.811: E/AndroidRuntime(1174): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1298)
04-08 16:07:34.811: E/AndroidRuntime(1174): at android.os.Handler.dispatchMessage(Handler.java:99)
04-08 16:07:34.811: E/AndroidRuntime(1174): at android.os.Looper.loop(Looper.java:213)
04-08 16:07:34.811: E/AndroidRuntime(1174): at android.app.ActivityThread.main(ActivityThread.java:5225)
04-08 16:07:34.811: E/AndroidRuntime(1174): at java.lang.reflect.Method.invokeNative(Native Method)
04-08 16:07:34.811: E/AndroidRuntime(1174): at java.lang.reflect.Method.invoke(Method.java:525)
04-08 16:07:34.811: E/AndroidRuntime(1174): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:741)
04-08 16:07:34.811: E/AndroidRuntime(1174): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
04-08 16:07:34.811: E/AndroidRuntime(1174): at dalvik.system.NativeStart.main(Native Method)
04-08 16:07:34.811: E/AndroidRuntime(1174): Caused by: java.lang.NullPointerException
04-08 16:07:34.811: E/AndroidRuntime(1174): at com.mostpopularalarmringtones.RMpro.onCreate(RMpro.java:37)
04-08 16:07:34.811: E/AndroidRuntime(1174): at android.app.Activity.performCreate(Activity.java:5133)
04-08 16:07:34.811: E/AndroidRuntime(1174): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
04-08 16:07:34.811: E/AndroidRuntime(1174): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2230)
04-08 16:07:34.811: E/AndroidRuntime(1174): ... 11 more
我在这里做错了什么?为什么我的应用程序崩溃了?
【问题讨论】:
-
RMpro类中的第 37 行是哪一行? -
我认为通过
PATH传递的`R.raw.s14projectil` 是一个整数而不是字符串 -
第 37 行是 `final String C1 = getIntent().getStringExtra("PATH").trim();` 那么我应该怎么做呢?如何更改?
标签: android android-intent crash