unable para insertar datos en la base de datos sqlite para dispositivo Android

Me encontré con un error desconocido al insertar datos en la base de datos. LogCat había mostrado "no se pueden insertar datos", sin embargo, el código que he usado se copia de otra actividad (que funciona).

curiosamente, cuando coloqué el código en elonStart() método, funciona. pero cuando puse en mionClick(), Falló

onStart(): <- no estoy seguro si está relacionado con el error

@Override
public void onStart() {
    super.onStart();

    dbopener = new DB_Route_ListOpener(this);

    try {

        dbopener.createDatabase();

    } catch (IOException ioe) {

        throw new Error("Unable to create database");

    }//create database

    try {

        dbopener.openDatabase();

    }catch(SQLException sqle){

        throw sqle;

    }//open database

    // Configure the listview
    routeItems = new ArrayList<String>(dbopener.selectData(new String [] {"RouteName"}, null, null, null, null, null));

    routeListAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,routeItems);
    routeListItem = (ListView)this.findViewById(R.id.mlt_route_list_route);
    routeListItem.setAdapter(routeListAdapter);
    routeListItem.setChoiceMode(ListView.CHOICE_MODE_SINGLE);

    dbopener.close();

}//onStart

onClick():

@Override
public void onClick(View v) {

    // TODO Auto-generated method stub
    if (v == findViewById(R.id.mlt_route_btn_addroute))//add
    {
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setCancelable(false);
        builder.setMessage("Add name ?");

        builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() 
        {

            public void onClick(DialogInterface dialog, int which) 
            {
                // TODO Auto-generated method stub
                dialog.dismiss();

                ContentValues cv = new ContentValues();
                cv.put("RouteName", "test");
                dbopener.insertData(null, cv);

            }
        });//clear all data

        builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() 
        {

            public void onClick(DialogInterface dialog, int which) 
            {
                // TODO Auto-generated method stub
                dialog.cancel();
            }
        });//negative

        builder.create().show();
    }//if

my consulta de inserción:

public void insertData (String nullColumnHack, ContentValues values) {

    try
    {
        myDatabase.insert(DB_TABLE, nullColumnHack, values);
    } catch (Exception e) {
        Log.e("Error :","unable to insert data");
    }//catch

}//insertData

Respuestas a la pregunta(4)

Su respuesta a la pregunta