Boa tarde a todos, estou desenvolvendo uma aplicação onde esta possui uma activity onde gera uma ListView de Pedidos, e dentro do Adapter desta lista de pedidos, eu tenho outra ListView que são os itens, ou seja, eu tenho uma ListView dentro de outra ListView.
O problema é que o Android não deixa colocar uma ListView dentro de uma View que possua ScrollView, e por padrão, uma ListView já tem Scroll.
Para resolver isso, eu encontrei em fóruns na internet um código que percorreria os itens da minha list filha, pegar o tamanho de cada linha e assim, somando um tamanho total, porém ele não funcionou muito certo no meu projeto, alguém teria uma outra solução para isso? obrigado.
Código que encontrei na internet:
public static void setListViewHeightBasedOnChildren(ListView listView) {
ListAdapter listAdapter = listView.getAdapter();
if (listAdapter == null)
return;
int desiredWidth = MeasureSpec.makeMeasureSpec(listView.getWidth(), MeasureSpec.UNSPECIFIED);
int totalHeight = 0;
View view = null;
for (int i = 0; i < listAdapter.getCount(); i++) {
view = listAdapter.getView(i, view, listView);
if (i == 0)
view.setLayoutParams(new ViewGroup.LayoutParams(desiredWidth, LayoutParams.WRAP_CONTENT));
view.measure(desiredWidth, MeasureSpec.UNSPECIFIED);
totalHeight += view.getMeasuredHeight();
}
ViewGroup.LayoutParams params = listView.getLayoutParams();
params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
listView.setLayoutParams(params);
}