【问题标题】:Android RecyclerView display issue in adapter适配器中的 Android RecyclerView 显示问题
【发布时间】:2018-12-14 17:23:41
【问题描述】:

这是我的代码。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_all_user);
    // getting id
    UserList=findViewById(R.id.ChatUserRecycle);
    toolbar=findViewById(R.id.mainPageBar);

    databaseReference=FirebaseDatabase.getInstance().getReference().child("Student");

    setSupportActionBar(toolbar);
    getSupportActionBar().setTitle("Users");  //setting action bar title
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);

    UserList.setHasFixedSize(true);
    UserList.setLayoutManager(new LinearLayoutManager(this));
}

@Override
protected void onStart() {
    super.onStart();
    FirebaseRecyclerOptions<ChatUsers> options=
            new FirebaseRecyclerOptions.Builder<ChatUsers>()
                    .setQuery(databaseReference,ChatUsers.class)
                    .setLifecycleOwner(this)
                    .build();

    firebaseRecyclerAdapter=new FirebaseRecyclerAdapter<ChatUsers,UsersViewHolder>(options) {

        @NonNull
        @Override
        public UsersViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
            return new UsersViewHolder(LayoutInflater.from(parent.getContext())
                    .inflate(R.layout.user_layout, parent, false));

        }
        @Override
        protected void onBindViewHolder(@NonNull UsersViewHolder holder, int position, @NonNull ChatUsers model) {
            holder.setName(model.getName());
        }
    };
    UserList.setAdapter(firebaseRecyclerAdapter);

}
public static class UsersViewHolder extends RecyclerView.ViewHolder{
    View mview;

    public UsersViewHolder(@NonNull View itemView) {
        super(itemView);
        mview=itemView;
    }
    public void setName(String name){
        Toast.makeText(itemView.getContext(),"2",Toast.LENGTH_SHORT).show();
        TextView name1=(TextView)mview.findViewById(R.id.SingleUsername);
        name1.setText(name);
    }
}
}

当我运行我的代码时,什么都没有显示没有 recycleview 和我想要膨胀的布局的空布局。几秒钟后应用。

FirebaseRecyclerAdapter<image_details, BlogViewHolder> adapter = new FirebaseRecyclerAdapter<image_details, BlogViewHolder>(
            image_details.class,
            R.layout.individual_row,

            myRef) {
        @Override
        protected void onBindViewHolder(BlogViewHolder holder, int position, image_details model) {
            holder.setDate(model.getDate());
            holder.setUrl(model.getUrl());
        }

        @Override
        public BlogViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
            return null;
        }
    };

首先我使用了这种方法,但它也不起作用。

【问题讨论】:

  • 如果布局高度为 match_parent,请检查您的布局项,将其更改为 wrap_content
  • 什么都没有发生请告诉我一些其他的解决方案....................... ..................................................... ..................................................... ..................................................... ..................................................... ..................................................... ..................................................... ..................................................... ..................................................... ..................................................... ..................................................... ......

标签: java android firebase firebase-realtime-database firebaseui


【解决方案1】:

当我运行我的代码时,什么都没有显示只是空布局

这是因为您根本没有为您的持有者创建视图。要解决这个问题,请添加以下代码行:

View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.individual_row, parent, false);
return new BlogViewHolder(view);

在您的 onCreateViewHolder() 方法中并删除 return null;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-25
    • 1970-01-01
    • 2021-04-01
    • 1970-01-01
    • 2021-12-07
    • 1970-01-01
    • 1970-01-01
    • 2019-03-24
    相关资源
    最近更新 更多