Я заполняю таблицу базы данных realm
информацией из коллекции Cloud Firestore.При первой загрузке приложение открывает и сохраняет информацию, но не отображает ее, пока я не закрою и не открою приложение.
Мне нужно, чтобы информация отображалась после ее записи в базу данных области.т.е. без необходимости закрывать и открывать приложение.Я попытался сделать это, поместив их в методы и по порядку в методе onCreate.
Так что после того, как он записал всю информацию в базу данных области, я хочу заполнить представление recycler, но я не знаю, как это сделать.что, пожалуйста, помогите?
Скриншоты
Первый запуск (слева) и второй запуск (справа)
OnCreate:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_edit_import_user);
RelativeLayout = findViewById(R.id.contentuserimport);
// initialize realm
Realm.init(getApplicationContext());
//SETUP REEALM
RealmConfiguration defaultConfig = new RealmConfiguration.Builder()
.schemaVersion(0)
.build();
realm=Realm.getInstance(defaultConfig);
Intent intent = getIntent();
moduleID = intent.getStringExtra("moduleID");
moduleName = intent.getStringExtra("moduleName");
ButterKnife.bind(this);
init();
getAssessList();
}
Init ():
private void init(){
linearLayoutManager = new LinearLayoutManager(getApplicationContext(), LinearLayoutManager.HORIZONTAL, false);
friendList.setLayoutManager(linearLayoutManager);
db = FirebaseFirestore.getInstance();
textView1.setText("Assessments - "+moduleName);
db.collection("assessment").whereEqualTo("module","xbIpNiDXGsIPmb5sTwbH").get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
for (QueryDocumentSnapshot document : task.getResult()) {
//GET DATA
Assessment a=new Assessment(Double.parseDouble(document.get("achieved").toString()),
document.get("date").toString(),document.get("desc").toString(),document.get("module").toString(),
document.get("time").toString(),Double.parseDouble(document.get("total").toString()),document.get("type").toString(),
document.get("weight").toString());
//SAVE
RealmHelper helper=new RealmHelper(realm);
helper.save(a);
}
}
}
});
//READ
RealmHelper helper=new RealmHelper(realm);
Assessment=helper.retrieve();
//BIND
adapter=new AssessAdapter(this,Assessment);
friendList.setAdapter(adapter);
adapter.notifyDataSetChanged();
friendList.setAdapter(adapter);
}
getAssessList ():
private void getAssessList(){
//RETRIEVE
RealmHelper helper=new RealmHelper(realm);
Assessment=helper.retrieve();
//BIND
adapter=new AssessAdapter(this,Assessment);
friendList.setAdapter(adapter);
adapter.notifyDataSetChanged();
friendList.setAdapter(adapter);
}