Null pointer exception findViewById Android



I have a problem with some layout elements that give me a null pointer exception in a custom expandable listview adapter.


The layout XML:



<View
android:id="@+id/lineTop"
android:layout_width="fill_parent"
android:layout_height="1dip"
android:background="#000000" />

<TextView
android:id="@+id/tvLabel"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_marginLeft="14dp"
android:layout_marginTop="14dp"
android:text="@string/details"
android:textColor="#000000" />

<ImageView
android:id="@+id/ivClear"
android:layout_width="25dip"
android:layout_height="37dp"
android:layout_alignRight="@+id/btnActions"
android:layout_below="@+id/txtListChild"
android:layout_marginTop="24dp"
android:contentDescription="@string/deliver"
android:src="@drawable/green_vink"
android:visibility="invisible" />

<Button
android:id="@+id/btnActions"
style="?android:attr/buttonStyleSmall"
android:layout_width="90dp"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/ivClear"
android:layout_alignParentRight="true"
android:layout_marginRight="17dp"
android:text="@string/arrival" />

<TextView
android:id="@+id/txtvCol2"
android:layout_width="213dp"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/txtListChild"
android:layout_alignBottom="@+id/txtListChild"
android:layout_alignRight="@+id/tvLabel"
android:width="10dp" />

<TextView
android:id="@+id/txtListChild"
android:layout_width="213dp"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/btnAlertAction"
android:layout_below="@+id/tvLabel"
android:layout_marginTop="22dp" />

<Switch
android:id="@+id/switch1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/btnAlertAction"
android:layout_alignBottom="@+id/btnAlertAction"
android:checked="false" />

<View
android:id="@+id/lineBottom"
android:layout_width="fill_parent"
android:layout_height="1dip"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_marginBottom="110dp"
android:background="#000000" />

<Button
android:id="@+id/btnAlertAction"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/lineBottom"
android:layout_alignRight="@+id/ivClear"
android:layout_marginBottom="40dp"
android:text="@string/report_damage" />

<Chronometer
android:id="@+id/cmWatch1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/tvLabel"
android:layout_alignBottom="@+id/tvLabel"
android:layout_toRightOf="@+id/tvLabel"
android:textSize="20sp" />

<EditText
android:id="@+id/etTESTING"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/txtvCol2"
android:layout_below="@+id/btnActions"
android:layout_marginRight="20dp"
android:layout_marginTop="29dp"
android:ems="10" />

</RelativeLayout>


The Java code:



public View getChildView(final int groupPosition, final int childPosition,
boolean isLastChild, View convertView, ViewGroup parent){

SharedPreferences sharedprefs = context.getSharedPreferences(Constants.SHARED_PREFS_NAME, Context.MODE_PRIVATE);
int saveState = sharedprefs.getInt("actionSaveState", 0);

if (convertView == null) {
LayoutInflater infalInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
// Get the layout from the XML
convertView = infalInflater.inflate(R.layout.doublelist_item, null);
}

String childData = (String) getChild(groupPosition, childPosition);
String[] columns = childData.split("\\^");

// Get the TextView element from the View
TextView txtListChild = (TextView) convertView.findViewById(R.id.txtListChild);
txtListChild.setText(columns[1]);

TextView txtvCol2 = (TextView) convertView.findViewById(R.id.txtvCol2);
txtvCol2.setText(columns[0]);

builder = new AlertDialog.Builder(context.getApplicationContext());

// Get the different elements from the XML layout
final ImageView iv = (ImageView) convertView.findViewById(R.id.ivClear);
final Button actions = (Button) convertView.findViewById(R.id.btnActions);
final Button report = (Button) convertView.findViewById(R.id.btnAlertAction);
final Switch sw = (Switch) convertView.findViewById(R.id.switch1);

// These variables are null
final Chronometer cm = (Chronometer) convertView.findViewById(R.id.cmWatch1);
final EditText testing = (EditText) convertView.findViewById(R.id.etTESTING);

testing.setVisibility(View.INVISIBLE);
report.setVisibility(View.INVISIBLE);
... }


The first four variables: iv,actions,report and sw do what they must do , but if i call a method from the variable testing or cm then get i a null pointer exception on these variables.


Logcat:



11-25 12:58:17.613: D/AndroidRuntime(22402): Shutting down VM
11-25 12:58:17.613: W/dalvikvm(22402): threadid=1: thread exiting with uncaught exception (group=0x40d9b2a0)
11-25 12:58:17.613: E/ACRA(22402): ACRA caught a NullPointerException exception for com.xxx.xxx. Building report.
11-25 12:58:17.613: D/ACRA(22402): Using default Mail Report Fields
11-25 12:58:17.673: I/ACRA(22402): READ_LOGS granted! ACRA can include LogCat and DropBox data.
11-25 12:58:17.673: D/ACRA(22402): Writing crash report file 1416916697000.stacktrace.
11-25 12:58:17.703: D/ACRA(22402): Waiting for Toast + worker...
11-25 12:58:20.703: D/ACRA(22402): About to create DIALOG from #handleException
11-25 12:58:20.703: D/ACRA(22402): Creating Dialog for 1416916697000.stacktrace
11-25 12:58:20.763: D/ACRA(22402): Wait for Toast + worker ended. Kill Application ? true
11-25 12:58:20.773: E/ACRA(22402): com.xxx.xxx fatal error : null
11-25 12:58:20.773: E/ACRA(22402): java.lang.NullPointerException
11-25 12:58:20.773: E/ACRA(22402): at com.xxx.xxx.ExpandableListAdapter.getChildView(ExpandableListAdapter.java:130)
11-25 12:58:20.773: E/ACRA(22402): at android.widget.ExpandableListConnector.getView(ExpandableListConnector.java:451)
11-25 12:58:20.773: E/ACRA(22402): at android.widget.AbsListView.obtainView(AbsListView.java:2278)
11-25 12:58:20.773: E/ACRA(22402): at android.widget.ListView.makeAndAddView(ListView.java:1769)
11-25 12:58:20.773: E/ACRA(22402): at android.widget.ListView.fillDown(ListView.java:672)
11-25 12:58:20.773: E/ACRA(22402): at android.widget.ListView.fillSpecific(ListView.java:1330)
11-25 12:58:20.773: E/ACRA(22402): at android.widget.ListView.layoutChildren(ListView.java:1600)
11-25 12:58:20.773: E/ACRA(22402): at android.widget.AbsListView.onLayout(AbsListView.java:2113)
11-25 12:58:20.773: E/ACRA(22402): at android.view.View.layout(View.java:13834)
11-25 12:58:20.773: E/ACRA(22402): at android.view.ViewGroup.layout(ViewGroup.java:4369)
11-25 12:58:20.773: E/ACRA(22402): at android.widget.RelativeLayout.onLayout(RelativeLayout.java:948)
11-25 12:58:20.773: E/ACRA(22402): at android.view.View.layout(View.java:13834)
11-25 12:58:20.773: E/ACRA(22402): at android.view.ViewGroup.layout(ViewGroup.java:4369)
11-25 12:58:20.773: E/ACRA(22402): at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
11-25 12:58:20.773: E/ACRA(22402): at android.view.View.layout(View.java:13834)
11-25 12:58:20.773: E/ACRA(22402): at android.view.ViewGroup.layout(ViewGroup.java:4369)
11-25 12:58:20.773: E/ACRA(22402): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1649)
11-25 12:58:20.773: E/ACRA(22402): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1507)
11-25 12:58:20.773: E/ACRA(22402): at android.widget.LinearLayout.onLayout(LinearLayout.java:1420)
11-25 12:58:20.773: E/ACRA(22402): at android.view.View.layout(View.java:13834)
11-25 12:58:20.773: E/ACRA(22402): at android.view.ViewGroup.layout(ViewGroup.java:4369)
11-25 12:58:20.773: E/ACRA(22402): at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
11-25 12:58:20.773: E/ACRA(22402): at android.view.View.layout(View.java:13834)
11-25 12:58:20.773: E/ACRA(22402): at android.view.ViewGroup.layout(ViewGroup.java:4369)
11-25 12:58:20.773: E/ACRA(22402): at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:1893)
11-25 12:58:20.773: E/ACRA(22402): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1714)
11-25 12:58:20.773: E/ACRA(22402): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1007)
11-25 12:58:20.773: E/ACRA(22402): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4243)
11-25 12:58:20.773: E/ACRA(22402): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:725)
11-25 12:58:20.773: E/ACRA(22402): at android.view.Choreographer.doCallbacks(Choreographer.java:555)
11-25 12:58:20.773: E/ACRA(22402): at android.view.Choreographer.doFrame(Choreographer.java:525)
11-25 12:58:20.773: E/ACRA(22402): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:711)
11-25 12:58:20.773: E/ACRA(22402): at android.os.Handler.handleCallback(Handler.java:615)
11-25 12:58:20.773: E/ACRA(22402): at android.os.Handler.dispatchMessage(Handler.java:92)
11-25 12:58:20.773: E/ACRA(22402): at android.os.Looper.loop(Looper.java:137)
11-25 12:58:20.773: E/ACRA(22402): at android.app.ActivityThread.main(ActivityThread.java:4830)
11-25 12:58:20.773: E/ACRA(22402): at java.lang.reflect.Method.invokeNative(Native Method)
11-25 12:58:20.773: E/ACRA(22402): at java.lang.reflect.Method.invoke(Method.java:511)
11-25 12:58:20.773: E/ACRA(22402): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
11-25 12:58:20.773: E/ACRA(22402): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)
11-25 12:58:20.773: E/ACRA(22402): at dalvik.system.NativeStart.main(Native Method)
11-25 12:58:20.773: I/ACRA(22402): Finishing the last Activity prior to killing the Process
11-25 12:58:20.783: I/ACRA(22402): Finished class com.xxx.xxx.TourOverviewActivity
11-25 12:58:20.783: I/Process(22402): Sending signal. PID: 22402 SIG: 9
11-25 12:58:20.993: D/ACRA(22533): ACRA is enabled for com.xxx.xxx, intializing...
11-25 12:58:21.013: D/ACRA(22533): Looking for error files in /data/data/com.xxx.xxx/files
11-25 12:58:21.013: D/ACRA(22533): Deleting file 1416916636000.stacktrace
11-25 12:58:21.013: D/ACRA(22533): Looking for error files in /data/data/com.xxx.xxx/files
11-25 12:58:21.013: D/ACRA(22533): Looking for error files in /data/data/com.xxx.xxx/files
11-25 12:58:21.023: W/ACRA(22533): com.xxx.xxx reports will be sent by email (if accepted by user).
11-25 12:58:21.143: D/ACRA(22533): Opening CrashReportDialog for 1416916697000.stacktrace
11-25 12:58:21.273: D/libEGL(22533): loaded /vendor/lib/egl/libEGL_POWERVR_SGX540_130.so
11-25 12:58:21.283: D/libEGL(22533): loaded /vendor/lib/egl/libGLESv1_CM_POWERVR_SGX540_130.so
11-25 12:58:21.293: D/libEGL(22533): loaded /vendor/lib/egl/libGLESv2_POWERVR_SGX540_130.so
11-25 12:58:21.363: D/OpenGLRenderer(22533): Enabling debug mode 0

No comments:

Post a Comment