0

我创建了一个产品列表,这些产品在我创建的 CustomListAdaptor 中正确填充,但在我运行应用程序时视图未呈现。

在下面的 Adaptor 中,prodList 正确地填充为 Product 实体

import android.app.Activity;
import android.net.Uri;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import com.squareup.picasso.Picasso;

import java.util.List;


public class CustomProductListAdaptor extends ArrayAdapter {

    //to reference the Activity
    private final Activity context;

    private final List<Product> productList;


    public CustomProductListAdaptor(Activity context,List<Product> prodList){
        super(context,R.layout.productlist_item);
        this.context=context;
        this.productList = prodList;
    }

    public View getView(int position, View view, ViewGroup parent) {
        LayoutInflater inflater=context.getLayoutInflater();
        View rowView=inflater.inflate(R.layout.productlist_item, null,true);
        Toast.makeText(getContext(),"In getView",Toast.LENGTH_LONG).show();

        //this code gets references to objects in the listview_row.xml file
        TextView nameTextField = (TextView) rowView.findViewById(R.id.product_name);
        TextView priceTextField = (TextView) rowView.findViewById(R.id.product_description);
        ImageView imageView = (ImageView) rowView.findViewById(R.id.productImage);

        //this code sets the values of the objects to values from the list
        try {
            nameTextField.setText(productList.get(position).getName());
            priceTextField.setText(productList.get(position).getPrice()+"/-");
            Uri imageUri = Uri.parse(productList.get(position).getImgUrl());
            Picasso.with(context).load(imageUri).placeholder(R.drawable.selectphoto).into(imageView);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return rowView;
    }


}
4

1 回答 1

0

将项目视图布局高度设置为 wrapcontent

将 layoutmanager 设置为 recyclerview

于 2020-03-17T04:22:25.497 回答