2016-08-19 72 views
1

我目前適配器實現是RealmBaseAdapter沒有更新時RealmResults更新列表視圖

RealmResults<Contact> contacts = realmController.getContacts(); 
contactAdapter = new ContactAdapter(ContactsActivity.this, contacts); 
contactsListView.setAdapter(contactAdapter); 

我已經延長RealmBaseAdapter爲contactAdapter與ListView控件使用

我也有一個搜索編輯文本,其中用戶將搜索爲聯繫人。

searchUser.addTextChangedListener(new TextWatcher() { 
     @Override 
     public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { 

     } 

     @Override 
     public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { 
      contacts = realmController.searchContact(searchUser.getText().toString()); 
     } 

     @Override 
     public void afterTextChanged(Editable editable) { 

     } 
    }); 

這裏的聯繫人得到更新,但listview沒有改變。

我錯過了什麼嗎?

回答

2

你應該打電話給contactAdapter.updateData(contacts),以便實際替換適配器內的結果。

@Override 
    public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { 
     contacts = realmController.searchContact(searchUser.getText().toString()); 
     contactAdapter.updateData(contacts); 
    } 
+0

這工作非常感謝 –