mou*_*izi 5 java android firebase android-recyclerview google-cloud-firestore
这是我在 Firestore 中的数据 我想显示这个名称“mouad”
这是我的代码
公共类 SearchActivity 扩展 AppCompatActivity {
私有RecyclerView mMainList;
私有 FirebaseFirestore mFirestore;
私有列表 usersList;
私有 CustomAdapter 适配器Re;
编辑文本编辑文本;
按钮 btnSearch;
字符串名称;
@覆盖
protected void onCreate(Bundle savingInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_search_firebase);
mFirestore = FirebaseFirestore.getInstance();
editText = (EditText) findViewById(R.id.search);
btnSearch = (按钮) findViewById(R.id.btn);
用户列表 = 新的 ArrayList();
adapterRe = new CustomAdapter(getApplicationContext(), usersList);
mMainList = (RecyclerView) findViewById(R.id.recyvle);
// mMainList.setHasFixedSize(true);
// mMainList.setLayoutManager(new LinearLayoutManager(this));
// mMainList.setAdapter(adapterRe);
btnSearch.setOnClickListener(new View.OnClickListener() {
@覆盖
公共无效onClick(查看v){
搜索用户Firebase();
}
});
}
私人无效SearchUserFirebase(){
名称 = editText.getText().toString();
if(!name.isEmpty()){
查询 query = mFirestore.collection("Movies").orderBy("name" ).startAt(name).endAt(name + "\uf8ff");
query.addSnapshotListener(new EventListener() {
@覆盖
公共无效 onEvent(QuerySnapshot documentSnapshots,FirebaseFirestoreException e){
如果(e!= null){
Log.d("TAG", "错误:" + e.getMessage());
}
ArrayList adsList = new ArrayList();
for(DocumentChange 文档:documentSnapshots.getDocumentChanges()){
if (doc.getType() == DocumentChange.Type.ADDED){
电影用户 = doc.getDocument().toObject(Movies.class);
usersList.add(用户);
适配器Re.notifyDataSetChanged();
}
}
Log.d("TAG", "搜索的记录数为 " + adsList.size());
}
});
}
}
}
这是错误
通常,当您尝试从后台线程而不是从“主”线程(例如在onCreate()方法内部)设置适配器时,会出现此错误。
如果您尝试从“延迟”方法(如方法内部)设置适配器onEvent(),则始终会出现此警告。
要解决此问题,请将适配器的创建移至同一线程中,并从 for 循环中获取以下代码行。
adapterRe.notifyDataSetChanged();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
932 次 |
| 最近记录: |