Android RecyclerView在AlertDialog对话框中不可见
我试图在Android RecyclerView在AlertDialog对话框中不可见,android,android-alertdialog,android-recyclerview,Android,Android Alertdialog,Android Recyclerview,我试图在onActivityResult方法中的AlertDialog上显示文件数据列表警报对话框正在弹出,但回收视图不可见,只有空对话框。我检查了适配器的ItemCount,它显示的列表大小很好 活动中的onActivityResult方法 @覆盖 受保护的void onActivityResult(int请求代码、int结果代码、意图数据){ super.onActivityResult(请求代码、结果代码、数据); Uri; 字符串类型; 视图对话框视图; RecyclerView对话框R
onActivityResult
方法中的AlertDialog
上显示文件数据列表<代码>警报对话框正在弹出,但<代码>回收视图不可见,只有空对话框。我检查了适配器的ItemCount,它显示的列表大小很好
活动中的onActivityResult方法
@覆盖
受保护的void onActivityResult(int请求代码、int结果代码、意图数据){
super.onActivityResult(请求代码、结果代码、数据);
Uri;
字符串类型;
视图对话框视图;
RecyclerView对话框RecyclerView;
AlertDialog.Builder dialogBuilder=新建AlertDialog.Builder(此);
ContentResolver cr=this.getContentResolver();
if(requestCode==1&&resultCode==RESULT\u确定){
dialogView=LayoutInflater.from(getApplicationContext()).flate(R.layout.alertdialog\u文件,null);
dialogRecyclerview=dialogView.findViewById(R.id.alertdialog\u fiilerecyclerView);
dialogBuilder.setView(dialogView);
dialogRecyclerview.setHasFixedSize(true);
dialogRecyclerview.setLayoutManager(新的LinearLayoutManager(this));
dialogBuilder.setCancelable(真);
uploadChatFileAdapter=新的uploadChatFileAdapter(uploadFileList);
if(data.getClipData()!=null){
int totalItems=data.getClipData().getItemCount();
对于(int i=0;i
适配器类
UploadChatFileAdapter(列表uploadList){
this.uploadList=上传列表;
}
@非空
@凌驾
public FileUploadViewHolder onCreateViewHolder(@NonNull ViewGroup父级,int viewType){
视图v=LayoutInflater.from(parent.getContext()).flate(R.layout.set\u meeting\u userlist\u item,parent,false);
返回新的FileUploadViewHolder(v);
}
@凌驾
public void onBindViewHolder(@NonNull FileUploadViewHolder,int位置){
holder.txt.setText(uploadList.get(position));
}
@凌驾
public int getItemCount(){
返回uploadList.size();
}
类FileUploadViewHolder扩展了RecyclerView.ViewHolder{
文本视图;
FileUploadViewHolder(查看项目视图){
超级(项目视图);
txt=itemView.findViewById(R.id.set\u meeting\u userlist\u txtview);
}
}
postR.layout.alertdialog\u文件
和R.layout.set\u会议\u用户列表\u项目
文件解决了它。。。recyclerview的高度应该是wrap\u content
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Uri uri;
String type;
View dialogView;
RecyclerView dialogRecyclerview;
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this);
ContentResolver cr = this.getContentResolver();
if(requestCode==1 && resultCode==RESULT_OK){
dialogView = LayoutInflater.from(getApplicationContext()).inflate(R.layout.alertdialog_files,null);
dialogRecyclerview = dialogView.findViewById(R.id.alertdialog_fiilerecyclerView);
dialogBuilder.setView(dialogView);
dialogRecyclerview.setHasFixedSize(true);
dialogRecyclerview.setLayoutManager(new LinearLayoutManager(this));
dialogBuilder.setCancelable(true);
uploadChatFileAdapter = new UploadChatFileAdapter(uploadFileList);
if(data.getClipData()!=null){
int totalItems = data.getClipData().getItemCount();
for(int i = 0 ; i < totalItems ; i++){
uri = data.getClipData().getItemAt(i).getUri();
type = cr.getType(uri);
uploadFileList.add(type);
uploadChatFileAdapter.notifyDataSetChanged();
}
}else if(data.getData()!=null) {
uri = data.getData();
type = cr.getType(uri);
uploadFileList.add(type);
uploadChatFileAdapter.notifyDataSetChanged();
}
dialogRecyclerview.setAdapter(uploadChatFileAdapter);
dialogBuilder.show();
}
}
UploadChatFileAdapter(List<String> uploadList) {
this.uploadList = uploadList;
}
@NonNull
@Override
public FileUploadViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.set_meeting_userlist_item,parent,false);
return new FileUploadViewHolder(v);
}
@Override
public void onBindViewHolder(@NonNull FileUploadViewHolder holder, int position) {
holder.txt.setText(uploadList.get(position));
}
@Override
public int getItemCount() {
return uploadList.size();
}
class FileUploadViewHolder extends RecyclerView.ViewHolder{
TextView txt;
FileUploadViewHolder(View itemView) {
super(itemView);
txt = itemView.findViewById(R.id.set_meeting_userlist_txtview);
}
}