Ueder, boa tarde!
Para pegar a quantidade de colunas você teria que verificar diretamente na string que o usuário digitou, ou seja, fazer uma manipulação. Como separar por ,
o que estiver depois de SELECT
e antes de FROM
, pois a própria linguagem SQL não irá te permitir isso.
Agora para ele gerar as colunas de forma dinâmica nós podemos usar o RecyclerView.LayoutManager
.
Para isso você precisa definir diretamente no seu RecyclerView:
RecyclerView recyclerView = findViewById(R.id.activity_lista_produtos_lista);
int numeroDeColunas = 5;
recyclerView.setLayoutManager(new GridLayoutManager(this, 5));
Veja, que o número de colunas pode ser qualquer número inteiro que layoutManager saberá cuidar disso para você
Espero ter ajudado e bons estudos!