2012-06-12 3 views
0

목록의 항목을 삭제하려면 onListItemClick() 메소드를 변경해야합니다. 아이디어? 나는 그것을 수업에 적용하는 법을 모른다. 저는 Db 클래스 I과 Helper 클래스를 가지고 있습니다.목록보기에서 항목 제거

Cursor cursor = db.rawQuery("select * from " + PRODUCT_TABLE, null); 

     setListAdapter(new CursorAdapter(this, cursor, true) { 

     @Override 
     public View newView(Context context, Cursor cursor, ViewGroup parent){ 

      TextView textView = new TextView(ProdottiSelectionActivity.this); 
      return textView; 
     } 

     @Override 
     public void bindView (View view, Context context, Cursor cursor){ 

      TextView textView = (TextView) view; 
      textView.append(cursor.getString(1)); 
      textView.append("\n"); 
      textView.append(cursor.getString(2)); 
      textView.append("\n"); 
      textView.append(cursor.getString(3)); 
      textView.append("\n"); 
      textView.append(cursor.getString(4)); 
      } 
     }); 
    } 

@Override 
protected void onDestroy(){ 
    super.onDestroy(); 
    dbHelper.close(); 
    } 

@Override 
protected void onListItemClick(ListView l, View v, int position, long id) { 
    setResult(1, new Intent(String.valueOf(id))); 
    finish(); 
} 

답변

0

가 데이터베이스에서 삭제 쿼리를 실행뿐만 아니라, 목록보기를 업데이트 할 것 : 여기

는 코드입니다. 예를 들어

db.execSQL("delete from " + PRODUCT_TABLE + " where id = 1", null); 

당신은 ID = 1로 제품을 삭제할 경우, 또는 당신은 또한 delete method를 사용할 수 있습니다.

또한 질문

  • Android db.delete(); on ListActivity
  • 질문과 유사하다 Android Delete Query
    • 를 참조하십시오.

    1

    당신은

    @Override 
    protected void onListItemClick(ListView l, View v, int position, long id) { 
        db.open(); 
        //you have to determine user clicked on which item 
        String[] whereArgs={String.valueOf(item_id)}; 
        db.delete(DATABASE_TABLE_4,"item_id = ?",whereArgs);  
        cursor.requery(); //deprecated 
        adapter.notifyDataSetChanged(); //deprecated 
        db.close(); 
    } 
    
    를 다음과 같이 뭔가를해야합니다