Android RecyclerView未从对话框内部显示

Android RecyclerView未从对话框内部显示,android,listview,dialog,android-recyclerview,dialogfragment,Android,Listview,Dialog,Android Recyclerview,Dialogfragment,在我的android应用程序中,我有一个片段可以打开一个dialogfragment,它本身包含一个recyclerview。我以前有一个listview,但需要水平滚动功能(注意listview可以工作)。getCount()返回0,并且正如预期的那样,永远不会调用onBindViewHolder。因此,在调用适配器的阶段,我有一个错误,但我一生都无法弄清楚它是什么。提前感谢您的帮助 dialogfragment中的代码段: public Dialog onCreateDialog(Bundl

在我的android应用程序中,我有一个片段可以打开一个dialogfragment,它本身包含一个recyclerview。我以前有一个listview,但需要水平滚动功能(注意listview可以工作)。getCount()返回0,并且正如预期的那样,永远不会调用onBindViewHolder。因此,在调用适配器的阶段,我有一个错误,但我一生都无法弄清楚它是什么。提前感谢您的帮助

dialogfragment中的代码段:

public Dialog onCreateDialog(Bundle savedInstanceState) {


    LayoutInflater li = (LayoutInflater)    getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View view = li.inflate(R.layout.feed_dialog, null);
    LinearLayoutManager layoutManager
            = new LinearLayoutManager(getActivity(), LinearLayoutManager.HORIZONTAL, false);

    imageId = new ArrayList<Integer>();
    imageId.add(R.drawable.sample_bag);
    imageId.add(R.drawable.sample_bag);

    RecyclerView listview = (RecyclerView) view.findViewById(R.id.feed_dialog_listview);
    listview.setLayoutManager(layoutManager);
    FeedImageDialogFragmentList adapter = new FeedImageDialogFragmentList(getActivity(), imageId);
    listview.setAdapter(adapter);
    Dialog dialog = new Dialog(getActivity());
    dialog.setContentView(view);
    dialog.show();
}
public对话框onCreateDialog(Bundle savedInstanceState){
LayoutInflater li=(LayoutInflater)getActivity().getSystemService(Context.LAYOUT\u INFLATER\u SERVICE);
视图=li.充气(R.layout.feed_对话框,空);
直线布局经理布局经理
=新的LinearLayoutManager(getActivity(),LinearLayoutManager.HORIZONTAL,false);
imageId=新的ArrayList();
imageId.add(R.可抽出样品袋);
imageId.add(R.可抽出样品袋);
RecyclerView listview=(RecyclerView)view.findViewById(R.id.feed\u dialog\u listview);
setLayoutManager(layoutManager);
FeedImageDialogFragmentList适配器=新的FeedImageDialogFragmentList(getActivity(),imageId);
setAdapter(适配器);
Dialog=新建对话框(getActivity());
setContentView(视图);
dialog.show();
}
和我的适配器类:

public class FeedImageDialogFragmentList extends      
        RecyclerView.Adapter<FeedImageDialogFragmentList.ViewHolder>{

    private final Activity context;
    private final ArrayList<Integer> imageId;

    public FeedImageDialogFragmentList(Activity context, ArrayList<Integer> imageId) {
        this.context = context;
        this.imageId = imageId;
    }

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View v = LayoutInflater.from(context).inflate(R.layout.list_feed_dialog, null, false);
        return new FeedImageDialogFragmentList.ViewHolder(v);
    }


    @Override
    public void onBindViewHolder(FeedImageDialogFragmentList.ViewHolder holder, final int position) {

        Integer item = imageId.get(position);
        holder.image.setImageBitmap(null);
        holder.image.setImageResource(item);

    }

    public static class ViewHolder extends RecyclerView.ViewHolder {
        public ImageView image;

        public ViewHolder(View itemView) {
            super(itemView);
            image = (ImageView) itemView.findViewById(R.id.feed_dialog_image);
        }
    }

    @Override
    public int getItemCount() {
        return imageId.size();
    }
}
公共类FeedImageDialogFragmentList扩展
RecyclerView.适配器{
私人最终活动背景;
私有最终ArrayList imageId;
公共FeedImageDialogFragmentList(活动上下文,ArrayList imageId){
this.context=上下文;
this.imageId=imageId;
}
@凌驾
public ViewHolder onCreateViewHolder(视图组父级,int-viewType){
视图v=LayoutFlater.from(上下文)。充气(R.layout.list\u feed\u对话框,null,false);
返回新的FeedImageDialogFragmentList.ViewHolder(v);
}
@凌驾
BindViewHolder上的公共无效(FeedImageDialogFragmentList.ViewHolder,最终整数位置){
整数项=imageId.get(位置);
holder.image.setImageBitmap(空);
holder.image.setImageResource(项目);
}
公共静态类ViewHolder扩展了RecyclerView.ViewHolder{
公众形象;
公共视图持有者(视图项视图){
超级(项目视图);
image=(ImageView)itemView.findViewById(R.id.feed\u dialog\u image);
}
}
@凌驾
public int getItemCount(){
返回imageId.size();
}
}

这是两年前的事了,你有没有找到原因?