java - 我想从一个 Activity 调用两个 ContentView

标签 java android android-studio

我正在制作一个在线购物应用程序,当管理员将产品上传到数据库时,用户可以在 RecyclerView 的主页中看到产品。产品分为“可数”和“不可数”。该类别与产品信息一起保存在数据库中,如下所示:

Firebase screenshot showing an object details

我希望当用户单击主页中的产品时,根据类别类型(可数或不可数)打开特定的 Activity 。

我在主页尝试过这个:-

FirebaseRecyclerAdapter<Products, ProductViewHolder> adapter =
            new FirebaseRecyclerAdapter<Products, ProductViewHolder>(options) {
                @Override
                protected void onBindViewHolder(@NonNull ProductViewHolder holder, int position, @NonNull final Products model)
                {
                    holder.txtProductName.setText(model.getPname());
                    holder.txtProductPrice.setText("Rs. " + model.getPrice());
                    Picasso.get().load(model.getImage()).into(holder.imageView);
                    holder.itemView.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v)
                        {

                            if(model.getCategory() == "countable"){
                                Intent intent = new Intent(HomeActivity.this, ProductDetailsActivity.class);
                                intent.putExtra("pid" , model.getPid());
                                startActivity(intent);
                            }else{
                                Intent intent = new Intent(HomeActivity.this, ProductDetails2Activity.class);
                                intent.putExtra("pid" , model.getPid());
                                startActivity(intent);
                            }

                        }
                    });
                }

                @NonNull
                @Override
                public ProductViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType)
                {
                    View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.product_items_layout, parent, false);
                    ProductViewHolder holder = new ProductViewHolder(view);
                    return holder;
                }
            };

但是它不起作用...有人可以帮助我吗?我非常感谢您的帮助!

最佳答案

使用 equalscontainsequalsIgnoreCase 代替 ==

 if(model.getCategory().equals("countable")){

}

关于java - 我想从一个 Activity 调用两个 ContentView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58042838/

相关文章:

java - 如何修复 java.lang.UnsupportedClassVersionError : Unsupported major. 次要版本

java - Android Libgdx - 真实设备上出现 Sigsegv 11 错误,但模拟器上没有崩溃

android - Android Studio 不同 View 之间的区别

java - 我可以即时制作正在运行的 Java Swing 应用程序的视频吗?

java - JSON:反序列化子类型

java - 相同的 Storm spout 是否并行接收已确认/失败的消息

android - 为什么jetpack compose海拔会夹住我的影子?

android - 更新至3.5.2后,Android Studio的行为异常

java - Android Studio 无法识别字符串

android - 在 Android Studio 中重新启用 "component tree"