Я только начал изучать Android и пытался создать приложение с тремя переключателями и другой кнопкой. когда выбран переключатель и кнопка нажата, я открыл новое действие с соответствующим изображением. Но я продолжаю получать это исключение. Как это решить? Вот код для моего основного класса (Imagelist)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), я положил это в методе
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 это показывает, OnCreate()
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