RecyclerView не отображается внутри поля AlertDialog - PullRequest
0 голосов
/ 30 июня 2018

Я пытаюсь показать список данных файла по методу AlertDialog in onActivityResult. AlertDialog выскакивает, но recyclerView не видно только пустое диалоговое окно. Я проверил ItemCount адаптера, и он показывает размер списка в порядке.

метод onActivityResult в действии

@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);
        }
    }
...