L'appel de la méthode delete dans la coutume de fournisseur de contenu

Je suis en train d'apprendre Android et je suis bloqué sur un problème concernant l'appel d'une coutume de fournisseur de contenu. J'ai été en utilisant un exemple dans un livre d'instructions et, bien qu'elle décrit comment créer le fournisseur personnalisé il n'y a pas d'exemple clair comment appeler les méthodes spécifiques. Je recherche précisément dans la façon de supprimer un seul enregistrement de la coutume de fournisseur de contenu.

Voici le code pour le contenu personnalisé fournisseur (EarthquakeProvider.java):

@Override


public int delete(Uri uri, String where, String[] whereArgs) {
int count;

switch (uriMatcher.match(uri)) {
  case QUAKES:
    count = earthquakeDB.delete(EARTHQUAKE_TABLE, where, whereArgs);
    break;

  case QUAKE_ID:
    String segment = uri.getPathSegments().get(1);
    count = earthquakeDB.delete(EARTHQUAKE_TABLE, KEY_ID + "="
                                + segment
                                + (!TextUtils.isEmpty(where) ? " AND (" 
                                + where + ')' : ""), whereArgs);
    break;

  default: throw new IllegalArgumentException("Unsupported URI: " + uri);
}

getContext().getContentResolver().notifyChange(uri, null);
return count;


 }

Je suis en train d'appeler la méthode delete de l'activité principale pour supprimer une seule entrée, et non pas l'ensemble de la base de données. Je veux l'utiliser sur un OnLongClickListener pour l'enregistrement sélectionné est affiché dans un tableau d'affichage de la liste dans l'activité principale.

C'est ce que j'ai je l'ai dans mon activité principale pour cette méthode:

earthquakeListView.setOnItemLongClickListener(new OnItemLongClickListener() {

    @Override
    public boolean onItemLongClick(AdapterView _av, View _v, int _index,
            long arg3) {
        ContentResolver cr = getContentResolver();
        cr.delete(earthquakeProvider.CONTENT_URI, null, null); 

        return false;
    }

Je sais que le code ci-dessus ne fonctionne pas, mais c'est aussi proche que j'ai pu avoir avec mes connaissances actuelles.

Toute aide sur ce serait très apprécié.

OriginalL'auteur Jeff | 2011-03-10