2013-02-06 70 views
0

從手機獲取聯繫人並在列表視圖中顯示該聯繫人,並標記聯繫人並將其添加到列表視圖中,從標記的列表視圖中添加並且未標記的列表視圖正在刪除。從數據庫中刪除時出現問題

我用於此是代碼..

 @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
View view = null; 
if (convertView == null) { 
    x= position; 
    LayoutInflater inflator = context.getLayoutInflater(); 
    view = inflator.inflate(R.layout.contactliststyle, null); 
    final ViewHolder viewHolder = new ViewHolder(); 
    viewHolder.txtName = (TextView) view.findViewById(R.id.txtView_Name); 
    viewHolder.txtNumber = (TextView)view.findViewById(R.id.txtView_Number); 
    viewHolder.selection = (CheckBox)view.findViewById(R.id.checkbtn_selectContact); 
    viewHolder.selection 
      .setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 

       public void onCheckedChanged(CompoundButton buttonView, 
         boolean isChecked) { 
        ContactModel element = (ContactModel)viewHolder.selection 
          .getTag(); 
        element.setSelected(buttonView.isChecked()); 
        if(buttonView.isChecked()) 
        { 
        String selectedName=element.getName(); 
        String selectedNumber=element.getNumber(); 
        System.out.println("etrtrt"+element.getName()); 
        DatabaseHandler db = new DatabaseHandler(context); 

        Log.d("Insert: ", "Inserting .."); 
        db.addContact(new Contact(selectedName, selectedNumber)); 

        } 
        else 
        { 
         String selectedName=element.getName(); 
         String selectedNumber=element.getNumber(); 
         System.out.println("Number"+selectedNumber); 
         System.out.println("Name"+selectedName); 
         DatabaseHandler db = new DatabaseHandler(context); 
         db.deleteContact(new Contact(selectedName,selectedNumber)); 
        } 

       } 
      }); 

用於刪除接觸在openHelper類的代碼是

// Deleting single contact 
public void deleteContact(Contact contact) { 

    SQLiteDatabase db = this.getWritableDatabase(); 
    db.delete(TABLE_CONTACTS, KEY_ID + " = ?", 
      new String[] { String.valueOf(contact.getID()) }); 
    System.out.println("Deleted"); 
    db.close(); 
} 

的接觸被加入數據庫完美但不能從刪除數據庫...

回答

0

試試這個

using getWritableD atabase()。delete(TABLE_NAME,TABLE_ROW_ID +「=」+ rowId,null)

+0

仍然不工作 – ammukuttylive