ListView Custom

Boa noite,

Gostaria de saber como que faz para eu criar um ListView, mas que cada linha da listview tenha objetos diferentes, tipo na primeira linha um ProgressBar, na segunda linha um Ratingbar e assim por diante.

Obrigado.

Criar uma Lista de Views de layout inflados e setar no Custom Adapter…

    private LayoutInflater mInflater = LayoutInflater.from(mContext);
    private ArrayList<View> mViewList = new ArrayList<View>();
   
    private void loadViewList() {
        mViewList.add(getProgressView());
        mViewList.add(getRatingView());
    }

    private View getProgressView(){
        View convertView mInflater.inflate(R.layout.progress_layout, null);
        ProgressBar progressBar = (ProgressBar) convertView.findViewById(R.id.progressBar);
        return convertView;
    }
   
    //Custom adapter 
    private ArrayList<View> mViewList;
    public MyCustomAdapter(private ArrayList<View> listView){
     mListView = listView;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        return mListView.get(position);
    }

Edit: ou pode fazer um switch gigante no getView onde cada item infla um layout diferente.