This is my code to delete selected item on button click,I added Alert dialog box to this code,After I add this Alert box,Fatal error exception occur.
 public class MycustomAdapter extends BaseAdapter implements ListAdapter {
    public ArrayList<category> list = new ArrayList<category>();
    public Context context;
    public MycustomAdapter(ArrayList<category> list, Context context) {
        this.list = list;
        this.context = context;
    }
    @Override
    public int getCount() {
        return list.size();
    }
    @Override
    public Object getItem(int pos) {
        return list.get(pos);
    }
    @Override
    public long getItemId(int position) {
        return list.get(position).getId();
    }
    @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        View view = convertView;
        if (view == null) {
            LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            view = inflater.inflate(R.layout.row, null);
        }
        //Handle TextView and display string from your list
        TextView listItemText = (TextView)view.findViewById(R.id.lblreload
        );
        listItemText.setText(list.get(position).getName());
        listItemText.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                category row = (category) list.get(position);
                int selected_id = row.getId();
                String budget = row.getName();
                Intent myIntent = new Intent(context, addbudget.class);
                myIntent .putExtra("passed data key",budget);
                myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                context.startActivity(myIntent);
            }
        });
        //Handle buttons and add onClickListeners
       TextView deleteBtn = (TextView)view.findViewById(R.id.delete_btn);
        deleteBtn.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v) {
                new AlertDialog.Builder(context)
                        .setTitle("Delete entry")
                        .setMessage("Are you sure you want to delete this entry?")
                        .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int which) {
                                SQLiteDatabase db = new DBhelper(context).getWritableDatabase();
                                db.delete(DBhelper.TABLE1, DBhelper.C_ID + "=?", new String[] {Integer.toString(list.get(position).getId())});
                                db.close();
                                list.remove(position);
                                notifyDataSetChanged();
                            }
                        })
                        .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int which) {
                                // do nothing
                            }
                        })
                        .setIcon(android.R.drawable.ic_dialog_alert)
                        .show();
            }
        });
        return view;
    }
}
This is the fatal error exception I got when I click the delete button.
 22 20:50:56.546  28837-28837/com.example.username.weddingplanning
 E/AndroidRuntime﹕ FATAL EXCEPTION: main
     android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
             at android.view.ViewRootImpl.setView(ViewRootImpl.java:811)
             at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:265)
             at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:73)
             at android.app.Dialog.show(Dialog.java:282)
             at android.app.AlertDialog$Builder.show(AlertDialog.java:951)
             at com.example.username.weddingplanning.MycustomAdapter$2.onClick(MycustomAdapter.java:101)
             at android.view.View.performClick(View.java:4439)
             at android.view.View$PerformClick.run(View.java:18398)
             at android.os.Handler.handleCallback(Handler.java:725)
             at android.os.Handler.dispatchMessage(Handler.java:92)
             at android.os.Looper.loop(Looper.java:176)
             at android.app.ActivityThread.main(ActivityThread.java:5299)
             at java.lang.reflect.Method.invokeNative(Native Method)
             at java.lang.reflect.Method.invoke(Method.java:511)
             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
             at dalvik.system.NativeStart.main(Native Method)
I have already gone through the similar questions in stack overflow,but I didn't get it.I have this delete button in CustomAdapter class,not in Activity class.
 
     
    