Application Error on Lock / Sleep Screen - NullPointerException

Using the device for testing - whenever I lock the screen (or sleep after 1 minute of inactivity), the application crashes, and logcat shows a NullPointerException always on imageView.setOnClickListener in the onResume() method.

Here's a small piece of code where I get the exception:

 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.critical_items_list); // instantiate member variables mExtras = getIntent().getExtras(); mItems_P1 = mExtras.getParcelableArrayList(EXTRA_ITEMS_P1); mItems_P2 = mExtras.getParcelableArrayList(EXTRA_ITEMS_P2); mItems_Engine = mExtras.getParcelableArrayList(EXTRA_ITEMS_ENGINE); } protected void onResume() { super.onResume(); ImageView imageAddToMultiple = (ImageView) findViewById(R.id.image_add_to_multiple); //This is where the I get the NullPointer imageAddToMultiple.setOnClickListener(listenerAddToMultipleItems); refreshLists(); ListView listP1 = (ListView) findViewById(R.id.list_p1); ListView listP2 = (ListView) findViewById(R.id.list_p2); ListView listEngine = (ListView) findViewById(R.id.list_engine); listP1.setAdapter(new MyAdapter(mList_P1)); listP2.setAdapter(new MyAdapter(mList_P2)); listEngine.setAdapter(new MyAdapter(mList_Engine)); } 

The image itself is located in RelativeLayout :

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <LinearLayout android:layout_width="fill_parent" android:layout_height="@dimen/standard_bar_height" android:background="@color/green" android:baselineAligned="false" > <LinearLayout android:layout_width="0dp" android:layout_height="fill_parent" android:layout_weight="1" android:gravity="center" > <TextView android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center" android:text="@string/plant_1" android:textColor="@android:color/black" /> </LinearLayout> <LinearLayout android:layout_width="0dp" android:layout_height="fill_parent" android:layout_weight="1" android:gravity="center" > <TextView android:layout_width="fill_parent" android:layout_height="match_parent" android:layout_gravity="center" android:gravity="center" android:text="@string/plant_2" android:textColor="@android:color/black" /> </LinearLayout> <RelativeLayout android:id="@+id/RelativeLayout1" android:layout_width="0dp" android:layout_height="fill_parent" android:layout_weight="1" > <ImageView android:id="@+id/image_add_to_multiple" android:layout_width="@dimen/standard_bar_height" android:layout_height="@dimen/standard_bar_height" android:layout_alignParentRight="true" android:layout_centerHorizontal="true" android:contentDescription="@string/description_add_to_multiple_items" android:src="@android:drawable/ic_menu_add" /> <TextView android:id="@+id/TextView1" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_centerInParent="true" android:gravity="center" android:text="@string/engine" android:textColor="@android:color/black" /> </RelativeLayout> </LinearLayout> <LinearLayout android:id="@+id/linearLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" > <ListView android:id="@+id/list_p1" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" > </ListView> <View android:layout_width="2dp" android:layout_height="fill_parent" android:background="@color/green" /> <ListView android:id="@+id/list_p2" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" > </ListView> <View android:layout_width="2dp" android:layout_height="fill_parent" android:background="@color/green" /> <ListView android:id="@+id/list_engine" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" > </ListView> </LinearLayout> </LinearLayout> 

I have no clue why I get this NullPointer .

FATAL EXCEPTION: main java.lang.RuntimeException: cannot resume action {nmw.nss / nmw.nss.CriticalList}: java.lang.NullPointerException at android.app.ActivityThread.performResumeActivity (ActivityThread.java:2820) in android.app. ActivityThread.handleResumeActivity (ActivityThread.java:2859) in android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2242) at android.app.ActivityThread.access $ 600 (ActivityThread.java:139) in android.app.ActivityThread $ H. handleMessage (ActivityThread.java:1262) on android.os.Handler.dispatchMessage (Handler.java:99) at android.os.Looper.loop (Looper.java:154) at android.app.ActivityThread.main (ActivityThread.java : 4974) on java.lang.reflect.Method.invokeNative (native method) in java.lang.reflect.Method.invoke (Method.java∗11) in com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit .java: 784) on com.android.internal.os.ZygoteInit.main (Zygot eInit.java∗51) at dalvik.system.NativeStart.main (native method), called: java.lang.NullPointerException with nmw.nss.CriticalList.onResume (CriticalList.java:93)

in android.app.Instrumentation.callActivityOnResume (Instrumentation.java:1236) in android.app.Activity.performResume (Activity.java:4620) in android.app.ActivityThread.performResumeActivity (ActivityThread.java:2804) ... 12 more

Thanks.

EDIT: I added full activity (sort of), xml and logcat . Do I need to override any Activity methods, possibly onStop or onPause , to do this?

+4
source share
2 answers

Finally found! My application is mainly designed to work in landscape mode, and in the manifest I added ------- android: screenOrientation = "landscape".

Well, here's the problem: no matter what mode you lock the device in, findViewById () always searches for XML in portrait mode, and in my case, which didn't have ImageView at all. Therefore, a NullPointerException exception.

+4
source

I assume that you did not call setContentView() before, so Imageview imageAddToMultiple is null, and when you try to set the listener, it fails.

Hope this helps!

0
source

All Articles