public void onListItemClick(ListView l, View v, final int position, long id) { //list항목의 클릭 event
     super.onListItemClick(l, v, position, id); 
     
     final String ida = text.getText().toString(); // 리스트의 뭘까요?
     
     new AlertDialog.Builder(Db1.this) // 리스트가 클릭되었을때 alterdialog 띄웁니다.
     .setTitle("뭐할래?")   // dialog의 타이틀이구요
     .setItems(items, new DialogInterface.OnClickListener() { // dialog의 아이템이 나타납니다. 2가지. 참고)items[]={"a","b"};
      @Override
   public void onClick(DialogInterface dialog, int which) {
    // TODO Auto-generated method stub
    if(which==0){   // dialog의 첫번째 항목이 선택되었을때 event
     Intent intent = new Intent(Db1.this, classNames[position]); // intent를 통해 액티비티 전환
        startActivity(intent);
        }
    else  // dialog의 두번째 항목이 선택
    {  db.delMemo(ida); } // 리스트에서 현재 항목 삭제
   }
  }).show();
    }  
 
     public class DBAdapter{ //DBAdapter선언부 입니다.
      private final Context context;
      static final String DB="memos.db";
      static final String TABLE = "lines";
      static final String COL1="line";
      static final int VERSION=1;
      static final String CREATE = "create table " + TABLE +
       "(_id integer primary key autoincrement, " + 
       COL1 + " text not null );";
      static final String DROP = "drop table ";
      private SQLiteDatabase db;
      private NoteOpenHelper dbHelper;
      
      public DBAdapter(Context ctx){
       context = ctx;
      }
      
      private static class NoteOpenHelper extends SQLiteOpenHelper {
       
       public NoteOpenHelper(Context c){
        super(c, DB, null, VERSION);
       }
       
       public void onCreate(SQLiteDatabase db){
        db.execSQL(CREATE);
       }
       
       public void onUpgrade(SQLiteDatabase db,
             int oldVersion, int newVersion){
        Log.w("debug", "Version mismatch :" + oldVersion +
          " to " + newVersion);
        db.execSQL(DROP + TABLE + ";");
        onCreate(db);
       }
      }
      
      public DBAdapter open() throws SQLException {
       dbHelper = new NoteOpenHelper(context);
       db = dbHelper.getWritableDatabase();
       return this; 
      }
      
      public void close() {
       dbHelper.close();
      }
      
      public Cursor fetchAllMemo() {
       return db.query(TABLE, new String[] {BaseColumns._ID, COL1},
         null, null, null, null, "_id DESC");
      }
      
      public String addMemo(String memo) {
       ContentValues values = new ContentValues();
       values.put(COL1, memo);
       long id = db.insert(TABLE, null, values);
       
       if(id<0)
        return "";
       return Long.toString(id);
      }
      
      public void delMemo(String id) {
       db.delete(TABLE, "_id = ?", new String[] { id });
      }
      
      public void modMemo(String id, String memo) {
      }
}


첫번째 소스에서 line16~17 부분이 실행이 안됩니다.

리스트 항목 삭제하는 역할을 하는데요. 버튼이벤트로 리스너로 따로 하면 분명 실행되는데

리스트클릭의 dialog안으로 넣으니까 실행이 안됩니다.

혹시.. delMemo를 dialog안으로 넣어 버려서 뭐 전역변수 이런게 잘못 된거가 싶기두 한데..

잘 모르겠어요. 고수님들 도와주세요.

 

참고로 밑에 코드는 DBAdapter구요..

밑에 line 62~64 부분이 리스트항목을 지우는 부분입니다.