Carregar ArraList<Classe> em uma ListView no Android

Boa tarde, depois de um trabalhão pesquisando como fazer uma conexão de um App com um servidor Mysql externo sem usar um servidor WEB, consegui conectar e listar os dados em uma ArrayList como segue abaixo:

Conexão:

public class Conexao extends AsyncTask<String, Void, ArrayList> implements Serializable {
...
    @Override
        protected ArrayList doInBackground(String... params) {
            try {
                Class.forName("com.mysql.jdbc.Driver").newInstance();
                con = DriverManager.getConnection("jdbc:mysql://10.1.1.10:3306/dbmysql", "root", "root"); 
                System.out.println("Principal (OK) Conexão: " + con);

                Statement create = con.createStatement();
                ResultSet rs = create.executeQuery("select id_funcionarios_2,nome_21 "
                        + "from Contracheques_8_2016 "
                        + "GROUP BY nome_21 "
                        + "LIMIT 10");
                list = new ArrayList<MesesEntidade>();
                while (rs.next()) {
                    MesesEntidade p = new MesesEntidade();
                    p.setIdMes(rs.getInt("id_funcionarios_2"));
                    p.setDescricaoMes(rs.getString("nome_21"));
                    list.add(p);
                }
            } catch (ClassNotFoundException ex) {
                System.out.println("Não foi possível encontrar o Driver! " + ex);
            } catch (InstantiationException ex) {
                System.out.println("ex);
            } catch (IllegalAccessException ex) {
                System.out.println("ex);
            } catch (SQLException ex) {
                System.out.println("ERRO");
                System.err.println("exception: " + ex);
            }
            return list;
        }

    }


a Entidade MesesEntidade:

    public class MesesEntidade implements Serializable {

        private static final long serialVersionUID = -4256442632457082615L;

        private Integer idMes;
        private String descricaoMes;
        private String descricaoAno;
        private String MesAno;
        private String salarioBruto;
        private String descontos;
        private String salarioLiquido;

... 
gets and setts
}

agora estou tentando passar isso para um LISTVIEW mas não tá fácil.

            conect.execute();
            ArrayList<MesesEntidade> x = conect.get(); // RECEBE OS DADOS
            ListView = (ListView) rootView.findViewById(R.id.id_mesesLista);
            String[] from = new String[]{
                "id_funcionarios_2", "nome_21"};
            int[] to = new int[]{R.id.id_mes, R.id.nome_mes};
//            Cursor c2 = new ArrayListCursor(from, x);
            adapter = new CursorAdapterMeses(
                    rootView.getContext(), R.layout.meses_lista, CURSOR, from, to); // aqui pede o cursor com os dados, não sei como passar o arraylist para cursor.
            adapter.notifyDataSetChanged();
            ListView.setAdapter(adapter);
            ListView.setTextFilterEnabled(true);

alguém tem algum exemplo?

valeu

ACHEI A RESPOSTA AQUI:

Consegui

Vou postar abaixo da pergunta a resposta.