2017-07-12 63 views
1

我正在嘗試使用Realm離線數據庫在ListView中顯示列表項。我跟着一些教程,他用allObjects()方法,無法與我解決!Realm中的allObjects()方法已被棄用?

你能幫我嗎?

這裏是我的代碼:

@Override 
protected void onResume() { 
    super.onResume(); 

    Realm.init(getApplicationContext()); 
    RealmConfiguration config = new RealmConfiguration. 
      Builder(). 
      deleteRealmIfMigrationNeeded(). 
      build(); 
    Realm.setDefaultConfiguration(config); 

    Realm realm = Realm.getInstance(config); 
    realm.beginTransaction(); 
    List<Car> cars = realm.**allObjects**(Car.class); 
    String[] names = new String[cars.size()]; 
    for(int i=0; i<names.length;i++){ 
     names[i]=cars.get(i).getName(); 
    } 

    ListView listView = (ListView)findViewById(R.id.listView); 
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,names); 
    listView.setAdapter(adapter); 
} 

回答

4

realm.beginTransaction();

你不需要這一點。

List<Car> cars = realm.**allObjects**(Car.class);

realm.allObjects(Car.class)realm.where(Car.class).findAll()取代。具體而言,allObjects已在0.90.0中棄用,並在0.91.0中刪除,請參閱here

+0

而不是'ArrayAdapter',你應該使用[RealmBaseAdapter](https://github.com/realm/realm-android-adapters)。 – EpicPandaForce

+0

Thaaaaaaaaaaanx bro。它的工作:) –

+1

爲什麼我應該使用RealmBaseAdapter? u能PLZ說明兩者的區別.. –

相關問題