Java. lang. NullPointerException, pointerexception when listView. getChildAt (I)
BaseAdapter returns the component that can display the number of items on the current screen. Therefore, it uses listView. getChildAt (I );
The returned result is a widget that can be displayed on the current screen. You cannot use the listView. getChildAt (I) method to retrieve widgets other than those that can be displayed on the current screen. The following method is incorrect:
For (int I = 0; I <listView. getCount (); I ++) {CheckBox checkBox = (CheckBox) listView. getChildAt (I); // This method is used to return the components in all the items of the ListView, but it is incorrect .}
The following exception occurs:
View the source code:
In this case, the object obtained through listView. getChildAt (I); should be null, And the null object has no attributes and Methods. Therefore, a null pointer exception occurs.
Correct practice:
List. setOnItemClickListener (new OnItemClickListener () {@ Override public voidonItemClick (AdapterView <?> Parent, View view, int position, longid) {// TODO Auto-generated method stub CheckBoxcheckBox = (CheckBox) view. findViewById (R. id. cbSelect); checkBox. toggle (); if (checkBox. isChecked () {// Add the phone number sendList for this list item. add (numList. get (position); sendName. add (nameList. get (position);} else {// remove the phone number and name sendList from the group list. remove (numList. get (position); sendName. remove (nameList. get (position ));}}});
To obtain the selected Item, this method selects to call back OnItemClickListener when the user clicks an Item to obtain the component (that is, the adapter) in the clicked Item.PublicView getView (IntPosition, View convertView, ViewGroupparent), and find its child component. Then perform operations on the child components.
JavalangNullPointerException in Java running
Because the directory may be empty, that is, there are no files in the directory, So path. list () returns null, so you need to judge before the for loop and add an if (files! = Null. The complete procedure is as follows:
Import java. io. File;
Import java. io. IOException;
Public class traverse {
Public static void tra (File path ){
If (path = null ){
Return;
}
If (path. isDirectory ()){
String [] files = path. list ();
If (files! = Null) // Add a sentence here
For (int I = 0; I <files. length; I ++ ){
Tra (new File (path, files [I]);
}
} Else if (path. getAbsolutePath (). endsWith (". mp3 ")){
System. out. println (path );
}
}
Public static void main (String [] args ){
Try {
File file = new File ("D :\\");
Tra (file );
} Catch (Exception e ){
E. printStackTrace ();
}
}
}
What should I do if javalangnullpointerexception occurs?
At calendar. PrintMonthBody (calendar. java: 515)
At calendar. PrintMonth (calendar. java: 507)
The error is not required in these two lines. as for NullPointerException, to put it bluntly, it means that the value you want is not obtained. If null occurs, check whether your program is running. (if not, check whether this line is correct)
Int startday = GetStartDay (year, month );
// Get number of days in the month
Int dayinmonth = GetNumOfDaysInMonth (year, month );
The NullPointerException handling method is very easy to handle. It's okay to look up the problem at the first level to see where the value is not obtained. There are many ways to query it. You can use the debug mode, or print the statement in the program to judge.