我尝试了多种方法在代码中添加空视图,但对我不起作用, 这是我的活动代码
public class CommentsActivity extends AppCompatActivity {
CommentAdapter adapter;
LinearLayoutManager layoutManager;
RecyclerView recyclerView;
FirebaseFirestore db;
ArrayList<HashMap> CommentsList;
String docRef;
ProgressBar mProgressBar;
TextView EmptyView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_comments);
Toolbar toolbar = findViewById(R.id.comments_toolbar);
setSupportActionBar(toolbar);
mProgressBar = (ProgressBar) findViewById(R.id.comments_progressBar);
mProgressBar.setVisibility(ProgressBar.VISIBLE);
EmptyView = findViewById(R.id.comments_empty_view);
db = FirebaseFirestore.getInstance();
CommentsList = new ArrayList<>();
// set up the RecyclerView
recyclerView = findViewById(R.id.main_comments_list);
layoutManager = new LinearLayoutManager(this);
recyclerView.setLayoutManager(layoutManager);
//Adding a divider between rows
DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(recyclerView.getContext(),
layoutManager.getOrientation());
recyclerView.addItemDecoration(dividerItemDecoration);
Bundle bundle = getIntent().getExtras();
if (bundle != null) {
docRef = bundle.getString("docRef");
}
db.collection("jobs").document(docRef).collection("comments")
.orderBy("name")
.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
for (QueryDocumentSnapshot document : task.getResult()) {
HashMap map = (HashMap) document.getData();
CommentsList.add(map); //arraylist Jobs
adapter.notifyDataSetChanged();
mProgressBar.setVisibility(ProgressBar.INVISIBLE);
}
} else {
}
}
});
adapter = new CommentAdapter(this, CommentsList);
recyclerView.setAdapter(adapter);
}
}
谢谢.......................................... ................................................... ................................................... ................................................... .........
答案 0 :(得分:0)
在布局文件中保留与父级高度和宽度相匹配的视图,并使该视图对GONE
可见。如果没有数据,我的意思是如果CommentsList
为空,则将该视图的可见性设置为VISIBLE
并将recyclerview的可见性设置为GONE
if(CommentsList.isEmpty()) {
recyclerView.setVisibility(View.GONE);
emptyView.setVisibility(View.VISIBLE);
} else {
recyclerView.setVisibility(View.VISIBLE);
emptyView.setVisibility(View.GONE);
}