无法在FirebaseRecyclerAdapter(Android Studio)中使用自定义布局

阿尼什(Anish Arya)

在我的博客应用中,发布包含(标题,描述和图像)的帖子。无法从Firebase检索数据并使用RecyclerView适配器显示数据。我无法确定问题所在。代码是:-

public class MainActivity extends AppCompatActivity {

    private RecyclerView mBlogList;

    private DatabaseReference mDatabase;

    private static final String TAG = "MainActivity";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mDatabase = FirebaseDatabase.getInstance().getReference().child("Blog");

        mBlogList = (RecyclerView)findViewById(R.id.blog_list);
        mBlogList.setHasFixedSize(true);
        mBlogList.setLayoutManager(new LinearLayoutManager(this));

    }

    @Override
    protected void onStart() {
        super.onStart();
        Query query = FirebaseDatabase.getInstance()
                .getReference()
                .child("Blog_Images");

        FirebaseRecyclerOptions<Blog> options =
                new FirebaseRecyclerOptions.Builder<Blog>()
                        .setQuery(query, Blog.class)
                        .build();

        FirebaseRecyclerAdapter<Blog, BlogViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Blog, BlogViewHolder>
                (options) {
            @Override
            public BlogViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
                View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.blog_row,parent,false);
                return new BlogViewHolder(view);
            }
            @Override
            protected void onBindViewHolder(@NonNull BlogViewHolder holder, int position, @NonNull Blog model) {
                holder.setTitle(model.getTitle());
                holder.setDescription(model.getDescription());
                holder.setImage(getApplicationContext(),model.getImage());
            }
        };
        mBlogList.setAdapter(firebaseRecyclerAdapter);
    }

    public class BlogViewHolder extends RecyclerView.ViewHolder {

        View mView;

        public BlogViewHolder(View itemView) {
            super(itemView);
            mView = itemView;
        }

        public void setTitle(String title)
        {
            TextView post_title = (TextView) mView.findViewById(R.id.post_title);
            post_title.setText(title);
        }

        public void setDescription(String desc)
        {
            TextView post_desc = (TextView) mView.findViewById(R.id.post_desc);
            post_desc.setText(desc);
        }

        public void setImage(Context ctx, String image)
        {
            ImageView post_image = (ImageView) mView.findViewById(R.id.post_image);
            //Picasso.with(ctx).load(image).into(post_image);
            Glide.with(MainActivity.this).load(image).into(post_image);
        }
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main_menu,menu);
        return super.onCreateOptionsMenu(menu);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        if (item.getItemId() == R.id.action_add)
        {
            startActivity(new Intent(MainActivity.this,PostActivity.class));
        }
        return super.onOptionsItemSelected(item);
    }
}

MainActivity只是空白。我不知道问题出在哪里。我尝试了ValueEventListeneraddValueEventListener但没有结果,实际上它在LOGCAT中说:

找不到布局,跳过此

彼得·哈达德

与OP聊天后,他导出了JSON,并且父节点的名称为Blognot Blog_images,所以我告诉他更改此设置:

 Query query = FirebaseDatabase.getInstance()
            .getReference()
            .child("Blog_Images");

到这个:

 Query query = FirebaseDatabase.getInstance()
            .getReference()
            .child("Blog");

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Android Studio的布局编辑器中使用自定义分辨率?

无法在Android中使用自定义EditText样式

Android布局自定义

在Android Studio中使用Flutter应用程序使用自定义代码片段(实时模板)

Android Studio无法在自定义项目布局中解析androidTestImplementation依赖项

无法在Android Studio布局编辑器中显示自定义视图

无法在Android Studio中自定义新的布局资源文件

无法在 iText7 Visual Studio 中使用自定义字体

如何使用基本布局并在android中自定义

在Android上使用自定义颜色的圆角布局

Android-如何布局和使用自定义视图?

如何在以Android Studio编写的项目中使用自定义字体

在应用程序中使用自定义系统服务(Android Studio)

在Android Studio中使用自定义名称格式构建发行版APK

如何在Android Studio中使用自定义名称生成输出APK文件?

AlertDialog自定义布局视图无法访问android

如何在RecyclerView Android Studio中以自定义线性布局自定义单个元素的方向?

无法在 Django 中使用自定义表单更新自定义模型

android搜索:自定义建议布局

android:自定义视图布局包装

自定义ListView的布局(Android)

Android AlertDialog自定义布局失真

Cordova自定义Android布局插件

Android ActionBar自定义布局样式

Android ListView自定义行布局

android中按钮的自定义布局

Android取消自定义布局的alertDialog

无法在Phonegap中使用自定义字体

加载项无法在自定义UI中使用