Java RecyclerView don';不接受来自模型的构造函数

Java RecyclerView don';不接受来自模型的构造函数,java,android,android-recyclerview,Java,Android,Android Recyclerview,我不明白为什么它会出问题。它通过改造从服务器获取数据,但不能在recyclerview中使用该数据。它使问题与构造函数,但我不明白为什么它使问题与它。使用此模型可以成功地从服务中获取数据,但问题是放置适配器和recyclierview。如何解决呢 ProductPage.java public class ProductPage { private int productID; private String productName; private String pro

我不明白为什么它会出问题。它通过改造从服务器获取数据,但不能在recyclerview中使用该数据。它使问题与构造函数,但我不明白为什么它使问题与它。使用此模型可以成功地从服务中获取数据,但问题是放置适配器和recyclierview。如何解决呢

ProductPage.java

public class ProductPage {
    private int productID;
    private String productName;
    private String productDescription;
    private List<String> productImages;
    private List<ProductPrice> productPrices;

    public int getProductID() {
        return productID;
    }

    public void setProductID(int productID) {
        this.productID = productID;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getProductDescription() {
        return productDescription;
    }

    public void setProductDescription(String productDescription) {
        this.productDescription = productDescription;
    }

    public List<String> getProductImages() {
        return productImages;
    }

    public void setProductImages(List<String> productImages) {
        this.productImages = productImages;
    }

    public List<ProductPrice> getProductPrices() {
        return productPrices;
    }

    public void setProductPrices(List<ProductPrice> productPrices) {
        this.productPrices = productPrices;
    }
}
公共类产品页{
私有int-productID;
私有字符串产品名称;
私有字符串描述;
私有列表图像;
私人价目表;
public int getProductID(){
返回productID;
}
public void setProductID(int productID){
this.productID=productID;
}
公共字符串getProductName(){
返回产品名称;
}
公共无效setProductName(字符串productName){
this.productName=productName;
}
公共字符串getProductDescription(){
退货产品说明;
}
public void setProductDescription(字符串productDescription){
this.productDescription=productDescription;
}
公共列表getProductImages(){
返回产品图片;
}
public void setProductImages(列出productImages){
this.productImages=productImages;
}
公共列表getProductPrices(){
退货价格;
}
公共产品价格(列出产品价格){
this.productPrices=产品价格;
}
}
ProductDetailAdapter.java

public class ProductDetailAdapter extends RecyclerView.Adapter<ProductDetailAdapter.ViewHolder> {
    private Context mContext;
    int rawLayout;
    private List<ProductPage> productPageList;
    private int cartAmount;


    public ProductDetailAdapter(Context mContext,int rawLayout, List<ProductPage> productPageList, CartListener cartListener) {
        this.mContext = mContext;
        this.rawLayout = rawLayout;
        this.productPageList = productPageList;
        this.cartListener = cartListener;
    }

    @NonNull
    @Override
    public ProductDetailAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int i) {
        View mView = LayoutInflater.from(parent.getContext()).inflate(rawLayout, parent, false);
        return new ViewHolder(mView);    }

    @Override
    public void onBindViewHolder(final ViewHolder viewHolder, final int position) {

        Glide.with(mContext).load(productPageList.get(position).getProductPrices().get(position).getShopImage())
                .apply(RequestOptions.placeholderOf(R.drawable.ic_glide_img).error(R.drawable.ic_glide_warning)).
                into(viewHolder.imgProductDetail);
        viewHolder.textProductDetailCost.setText(Double.toString(productPageList
                .get(position).getProductPrices().get(position).getShopProductPrice())+" TL");
        viewHolder.textProductDetailMarket.setText(productPageList.get(position).getProductPrices().get(position).getShopName());

    }

    @Override
    public int getItemCount() {
        return productPageList.size();
    }

    class ViewHolder extends RecyclerView.ViewHolder{
        private ImageView imgProductDetail;
        private TextView textProductDetailCost, textProductDetailMarket;
        private Button btnProductDetail;
        private CardView cardViewProductDetail;
        ViewHolder(View itemView){
            super(itemView);
            imgProductDetail = itemView.findViewById(R.id.imageView_product_detail);
            textProductDetailCost = itemView.findViewById(R.id.text_product_detail_cost);
            textProductDetailMarket = itemView.findViewById(R.id.textViewProductShopName);
            btnProductDetail = itemView.findViewById(R.id.buttonProductDetail);
            cardViewProductDetail = itemView.findViewById(R.id.cardViewProductDetail);
        }
    }
    public interface CartListener {
        void onProductSelect(ProductPage productPage);

    }
}
公共类ProductDetailAdapter扩展了RecyclerView.Adapter{
私有上下文;
内部布局;
私有列表产品页面列表;
私人投资金额;
公共ProductDetailAdapter(上下文mContext、int-rawLayout、列表productPageList、CartListener CartListener){
this.mContext=mContext;
this.rawLayout=rawLayout;
this.productPageList=productPageList;
this.cartListener=cartListener;
}
@非空
@凌驾
public ProductDetailAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup父级,int i){
View mView=LayoutInflater.from(parent.getContext()).flate(rawLayout,parent,false);
返回新的ViewHolder(mView);}
@凌驾
public void onBindViewHolder(最终ViewHolder ViewHolder,最终int位置){
Glide.with(mContext).load(productPageList.get(position).getProductPrices().get(position).getShopImage())
.apply(RequestOptions.placeholder of(R.drawable.ic\u glide\u img).错误(R.drawable.ic\u glide\u warning))。
进入(viewHolder.imgProductDetail);
viewHolder.textProductDetailCost.setText(Double.toString(productPageList
.get(position).getProductPrices().get(position).getShopProductPrices())+“TL”);
viewHolder.textProductDetailMarket.setText(productPageList.get(position).getProductPrices().get(position).getShopName());
}
@凌驾
public int getItemCount(){
返回productPageList.size();
}
类ViewHolder扩展了RecyclerView.ViewHolder{
私有图像查看imgProductDetail;
私有TextView textProductDetailCost,textProductDetailMarket;
私人按钮btnProductDetail;
私人卡查看卡查看产品详细信息;
ViewHolder(视图项视图){
超级(项目视图);
imgProductDetail=itemView.findviewbyd(R.id.imageView\u product\u detail);
textProductDetailCost=itemView.findViewById(R.id.text\u产品\u细节\u成本);
textProductDetailMarket=itemView.findViewById(R.id.textViewProductShopName);
btnProductDetail=itemView.findViewById(R.id.buttonProductDetail);
cardViewProductDetail=itemView.findViewById(R.id.cardViewProductDetail);
}
}
公共接口侦听器{
作废onProductSelect(ProductPage ProductPage);
}
}
ProductActivity.java

  public class ProductActivity extends AppCompatActivity implements ProductDetailAdapter.CartListener {
    TextView textProductName, textDescription;
    RecyclerView recyclerViewProduct;
    protected RecyclerView.LayoutManager mLayoutManager;

    String productCost, productMarket, productImage, productTitle, prdouctMarketImage;
    int id;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_product);
        init();
        loadProductPage();
    }

    private void init() {
        textProductName = findViewById(R.id.text_product_title);
        imgProduct = findViewById(R.id.img_product);
        recyclerViewProduct = findViewById(R.id.product_recycylerwiew);
        textDescription = findViewById(R.id.text_product_description);
        textDescription.setMovementMethod(new ScrollingMovementMethod()); // Scroll yapabilmek için açmıştım
        mLayoutManager = new LinearLayoutManager(getApplicationContext());
        recyclerViewProduct.setLayoutManager(mLayoutManager);


    private void loadProductPage() {
        ApiInterface apiInterface = ApiClient.getRetrofitInstance().create(ApiInterface.class);
        Call<ProductPage> call = apiInterface.getProductPage(id);
        call.enqueue(new Callback<ProductPage>() {
            @Override
            public void onResponse(Call<ProductPage> call, Response<ProductPage> response) {
                if (response.isSuccessful()) {
                    ProductPage product_page_list = response.body();
                    textProductName.setText(product_page_list.getProductName());
                    textDescription.setText(product_page_list.getProductDescription());

                    Glide.with(getApplicationContext()).load(product_page_list.getProductImages())
                            .apply(RequestOptions.placeholderOf(R.drawable.ic_glide_img).error(R.drawable.ic_glide_warning)).
                            into(imgProduct);

                    ProductDetailAdapter myAdapter = new ProductDetailAdapter(getApplicationContext(),R.layout.product_detail_item_view,product_page_list,ProductActivity.this);
                    recyclerViewProduct.setAdapter(myAdapter);
                }
                else
                    ApiErrorUtils.parseError(response);
            }

            @Override
            public void onFailure(Call<ProductPage> call, Throwable t) {
                Log.d("response","apiError");
            }
        });


    }



    @Override
    public void onProductSelect(ProductPage productPage) {
    }
公共类ProductActivity扩展AppCompatActivity实现ProductDetailAdapter.CartListener{
TextView textProductName、textDescription;
RecyclerView recyclerViewProduct;
受保护的RecyclerView.LayoutManager mLayoutManager;
字符串productCost、productMarket、productImage、productTitle、prdouctMarketImage;
int-id;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u产品);
init();
loadProductPage();
}
私有void init(){
textProductName=findViewById(R.id.text\u产品\u标题);
imgProduct=findviewbyd(R.id.img_产品);
recyclerViewProduct=findViewById(R.id.product\u RecycylerView);
textDescription=findviewbyd(R.id.text\u产品描述);
textDescription.setMovementMethod(新的ScrollingMovementMethod());//在açmıtım中滚动yapabilmek iç
mLayoutManager=newlinearlayoutmanager(getApplicationContext());
RecycleServicewProduct.setLayoutManager(mLayoutManager);
私有void loadProductPage(){
ApiInterface ApiInterface=ApiClient.GetRefughtInstance().create(ApiInterface.class);
Call Call=apinterface.getProductPage(id);
call.enqueue(新回调(){
@凌驾
公共void onResponse(调用、响应){
if(response.issusccessful()){
ProductPage product_page_list=response.body();
textProductName.setText(产品页面列表.getProductName());
textDescription.setText(product_page_list.getProductDescription());
Glide.with(getApplicationContext()).load(产品页面列表.getProductImages())
.apply(RequestOptions.placeholder of(R.drawable.ic\u glide\u img).错误(R.drawable.ic\u glide\u warning))。
进入(imgProduct);
ProductDetailAdapter我的
ProductPage product_page_list = response.body();
List<ProductPage> productPageList
 ProductPage productPage = response.body();
 List<ProductPage> productList=new ArrayList<>();
 productList.add(productPage);
ProductPage product_page_list = response.body();