2016-03-27 18 views
2

Uygulamamda Favori Listeyi uygulamaya çalışıyorum. Bunun için, İçeriği depolamak için veritabanım olarak bölge kullanıyorum. İçeriği başarıyla ekleyebilirim ancak öğeleri kaldırmaya çalışırken uygulama çöküyor. FilmId değişkeni olan birincil anahtarı kullanarak nesneleri silmeye çalışıyorum. Ama bu uygulamayı çöker. Herhangi Bir Yardım Takdir Edilir.android- Veritabanı alanı için nesneler eklemek ve silmek nasıl?

Kod içeriklerini ekleme ve çıkarma için: Yerine yöntem clear(), sizi kaldırılmış sonra bu

mRealm.beginTransaction(); 
mResults.remove(results); 
mRealm.commitTransaction(); 

kullanım clear() yöntemiyle (https://realm.io/docs/java/latest/api/io/realm/RealmResults.html#clear--)

mRealm.beginTransaction(); 
results.clear(); 
mRealm.commitTransaction(); 
+0

soru nedir? Lütfen açık olun! – cramopy

+0

Realm'den nasıl nesne silinir. Thats benim sorum –

cevap

2

kullanmalısınız:

realm.deleteAll() 

veya

results.deleteAllFromRealm() 

Kaynak: Realm Documentation

+0

Yardım için teşekkürler. Ama sorunu çözdüm. –

+3

Bu yöntem kullanımdan kaldırılmış gibi görünüyor. – Trinity

+1

clear() kullanımdan kaldırıldı, bunun yerine deleteAllFromRealm() yöntemini kullanabilirsiniz. –

3

ait

 mFavoriteButton.setOnFavoriteChangeListener(new MaterialFavoriteButton.OnFavoriteChangeListener() { 
      @Override 
      public void onFavoriteChanged(MaterialFavoriteButton buttonView, boolean favorite) { 
       if(!favorite) { 
        SharedPreferences.Editor editor = getSharedPreferences("com.thejoker.yts", MODE_PRIVATE).edit(); 
        editor.putBoolean("Fav Checked", false); 
        editor.commit(); 
        RealmResults<FavoriteListRealm> results = mRealm.where(FavoriteListRealm.class).equalTo("realmMovieId", movieId).findAll(); 

        mRealm.beginTransaction(); 
        mResults.remove(results); 
        mRealm.commitTransaction(); 
        Toast.makeText(getContext(), "Not a favorite", Toast.LENGTH_SHORT).show(); 
       } 
       if(favorite) { 
        SharedPreferences.Editor editor = getSharedPreferences("com.thejoker.yts", MODE_PRIVATE).edit(); 
        editor.putBoolean("Fav Checked", true); 
        editor.commit(); 
        mRealm.beginTransaction(); 
        FavoriteListRealm favorites = mRealm.createObject(FavoriteListRealm.class); 
        favorites.setRealmMovieId(movieId); 
        favorites.setRealmMovieTitle(movieTitle); 
        favorites.setRealmThumbnailUrl(movieUrlThumbnail); 
        favorites.setRealmMovieYear(movieYear); 
        mRealm.copyToRealmOrUpdate(favorites); 
        mRealm.commitTransaction(); 
        mResults = mRealm.where(FavoriteListRealm.class).findAllAsync(); 
        Toast.makeText(MovieDetailsActivity.this, mResults.toString(), Toast.LENGTH_LONG).show(); 
       } 
      } 
     }); 
İlgili konular