我剛開始學習android,試圖用3個單選按鈕和另一個按鈕創建一個應用程序。當選中一個單選按鈕並按下按鈕時,我打開一個新的活動,並顯示相應的圖像。但我不斷收到這個異常。我如何解決它? 下面是我的主類的代碼(圖像列表)java.lang.NullPointerException:試圖調用虛擬方法'java.lang.String android.content.Context.getPackageName()'
Intent intent= new Intent(Imagelist.this,Image_Activity.class);
public void onRadioButtonClicked(View view) {
boolean checked = ((RadioButton) view).isChecked();
switch(view.getId()) {
case R.id.image1:
if (checked)
intent.putExtra("image", R.drawable.pic1);
break;
case R.id.image2:
if (checked)
intent.putExtra("image",R.drawable.pic2);
break;
case R.id.image3:
if(checked)
intent.putExtra("image",R.drawable.pic3);
break;
}
}
public void sendMessage(View view){
Bundle extras = intent.getExtras();
if (extras != null)
startActivity(intent);
}
和我的第二個活動(Image_Activity),我把這個在OnCreate()方法
ImageView image_view= (ImageView) findViewById(R.id.picture);
//picture is the id of the imageview in the xml file
Intent intent1= getIntent() ;
Bundle extras = intent1.getExtras();
if (extras != null) {
if (extras.containsKey("image")) {
int imageId = intent1.getIntExtra("image", 0);
image_view.setImageResource(imageId);
}
}
的logcat的說明這一點,
FATAL EXCEPTION: main
Process: com.example.sharath.imageapp, PID: 27615
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.sharath.imageapp/com.example.sharath.imageapp.Imagelist}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2290)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2442)
at android.app.ActivityThread.access$800(ActivityThread.java:156)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1351)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:211)
at android.app.ActivityThread.main(ActivityThread.java:5371)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:945)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:740)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference
at android.content.ContextWrapper.getPackageName(ContextWrapper.java:132)
at android.content.ComponentName.<init>(ComponentName.java:77)
at android.content.Intent.<init>(Intent.java:4161)
at com.example.sharath.imageapp.Imagelist.<init>(Imagelist.java:57)
at java.lang.reflect.Constructor.newInstance(Native Method)
at java.lang.Class.newInstance(Class.java:1606)
at android.app.Instrumentation.newActivity(Instrumentation.java:1066)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2280)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2442)
at android.app.ActivityThread.access$800(ActivityThread.java:156)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1351)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:211)
at android.app.ActivityThread.main(ActivityThread.java:5371)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:945)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:740)
'NullPointerException:試圖調用虛擬方法'java.lang.String android.content.Context.getPackageName()' –
問題在這裏'startActivity(intent);' –
我讀了這個線程,但看到我沒有使用適配器我認爲這個問題是由於別的東西 – Jacksparrow