When I Press in checkAll button it give NullpointerException occur in My custom ListView.
The problem is that, if screen has 6 or 7 item as per screen size than it has no problem checkAll working butif the items is more than the screen size then it gives NullPointerException.
I have put my code below:
// ///////////////////// checkAll / ClearAll        // ///////////////////////////////////////
    btnCheckAll.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            int count =lvHiddenApp.getAdapter().getCount();
            Log.i("NoOfApp", "" + count);
            if (state) {
                for (int i = 0; i < count; i++) {
                    RelativeLayout itemLayout = (RelativeLayout) lvHiddenApp
                            .getChildAt(i); // Find
                    CheckBox checkbox = (CheckBox) itemLayout
                            .findViewById(R.id.cbHideAppCheck);
                    checkbox.setChecked(true);
                    btnCheckAll.setText("UncheckAll");
                    state = false;
                }
            } else {
                for (int i2 = 0; i2 < count; i2++) {
                    RelativeLayout itemLayout = (RelativeLayout) lvHiddenApp
                            .getChildAt(i2); // Find
                    CheckBox checkbox = (CheckBox) itemLayout
                            .findViewById(R.id.cbHideAppCheck);
                    checkbox.setChecked(false);
                    btnCheckAll.setText("checkAll");
                    state = true;
                }
            }
        }
    });
    // ////////////////////////////////////////////////////////////////////////////////////////////////////
Logcat:
 E/AndroidRuntime(2420): FATAL EXCEPTION: main
 E/AndroidRuntime(2420): java.lang.NullPointerException
 E/AndroidRuntime(2420):at com.example.settings.HiddenAppList$1.onClick(HiddenAppList.java:92)
 E/AndroidRuntime(2420):at com.rey.material.widget.RippleManager.run(RippleManager.java:83)
 E/AndroidRuntime(2420):at com.rey.material.widget.RippleManager.onClick(RippleManager.java:77)
 E/AndroidRuntime(2420):at android.view.View.performClick(View.java:4240)
 E/AndroidRuntime(2420):at android.view.View$PerformClick.run(View.java:17721)
 E/AndroidRuntime(2420):at android.os.Handler.handleCallback(Handler.java:730)
 E/AndroidRuntime(2420):at android.os.Handler.dispatchMessage(Handler.java:92)
 E/AndroidRuntime(2420):at android.os.Looper.loop(Looper.java:137)
 E/AndroidRuntime(2420):at android.app.ActivityThread.main(ActivityThread.java:5103)
 E/AndroidRuntime(2420):at java.lang.reflect.Method.invokeNative(Native Method)
 E/AndroidRuntime(2420):at java.lang.reflect.Method.invoke(Method.java:525)
 E/AndroidRuntime(2420):at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
 E/AndroidRuntime(2420):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
 03-09 12:17:48.083: E/AndroidRuntime(2420):at dalvik.system.NativeStart.main(Native Method)
xml file:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageView
    android:id="@+id/ivHideAppIcon"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:contentDescription="@+id/img"
    android:src="@drawable/ic_launcher" />
<com.rey.material.widget.TextView
    android:id="@+id/tvHideAppText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toRightOf="@id/ivHideAppIcon"
    android:padding="4dp"
    android:text="@string/hidden_app" />
<CheckBox
    android:id="@+id/cbHideAppCheck"
    style="@style/CheckBoxDrawable"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:checked="false" />
adapter file:
public class HideAppListviewAdapter extends BaseAdapter {                  
public HideAppListviewAdapter() {
    // TODO Auto-generated constructor stub
}
String i;
ArrayList<String> state = new ArrayList<String>();;
Context context;
private ArrayList<Category> items;
private LayoutInflater mInflater;
public class ViewHolder {
    public ImageView imageView;
    public TextView textTitle;
    public CheckBox cb;
    public Button btnitem;
}
public HideAppListviewAdapter(Context context, ArrayList<Category> cat) {
    mInflater = (LayoutInflater) context
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    this.context = context;
    items = cat;
    Log.i("itemsizepela", "" + items.size());
}
public ArrayList<Category> getItems() {
    return items;
}
public void setItems(ArrayList<Category> items) {
    this.items = items;
}
@Override
public int getCount() {
    if (items != null) {
        return items.size();
    }
    return 0;
}
@Override
public void notifyDataSetChanged() {
    super.notifyDataSetChanged();
}
@Override
public Category getItem(int position) {
    if (items != null && position >= 0 && position < getCount()) {
        return items.get(position);
    }
    return null;
}
@Override
public long getItemId(int position) {
    if (items != null && position >= 0 && position < getCount()) {
        return items.get(position).id;
    }
    return 0;
}
public void setItemsList(ArrayList<Category> locations) {
    this.items = locations;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
    View view = convertView;
    final ViewHolder viewHolder;
    final Category gridItems = getItem(position);
    if (view == null) {
        view = mInflater.inflate(R.layout.hidden_app_list_item, parent,
                false);
        viewHolder = new ViewHolder();
        viewHolder.imageView = (ImageView) view
                .findViewById(R.id.ivHideAppIcon);
        viewHolder.textTitle = (TextView) view
                .findViewById(R.id.tvHideAppText);
        viewHolder.cb = (CheckBox) view.findViewById(R.id.cbHideAppCheck);
        view.setTag(viewHolder);
        CheckBox cbBuy = (CheckBox) view.findViewById(R.id.cbHideAppCheck);
        cbBuy.setOnCheckedChangeListener(myCheckChangList);
        cbBuy.setTag(position);
        cbBuy.setChecked(gridItems.box);
    } else {
        viewHolder = (ViewHolder) view.getTag();
    }
    setCatImage(position, viewHolder, gridItems.name, gridItems.icon);
    return view;
}
@SuppressLint("NewApi")
private void setCatImage(int pos, ViewHolder viewHolder, String catTitle,
        Drawable icon) {
    viewHolder.imageView.setImageDrawable(icon);
    viewHolder.textTitle.setText(catTitle);
}
ArrayList<Category> getBox() {
    ArrayList<Category> box = new ArrayList<Category>();
    for (Category p : items) {
        if (p.box)
            box.add(p);
    }
    return box;
}
OnCheckedChangeListener myCheckChangList = new OnCheckedChangeListener() {
    public void onCheckedChanged(CompoundButton buttonView,
            boolean isChecked) {
        getItem((Integer) buttonView.getTag()).box = isChecked;
    }
};
}
 
     
     
    