2016-04-08 6 views
0

Посмотрите, я знаю, что это плохая идея поместить представление списка внутри scrollview, но по какой-то причине я должен это сделать.ListView внутри scrollview не настроен на wrap_content

У меня есть вид с 3-х фрагментов, которые находятся внутри Scrollview,

<scrollview> 
    <framelayout></framelayout> -> each framelayout is fragment container 
    <framelayout></framelayout> 
    <framelayout></framelayout> 
<scrollview> 

первый фрагмент, который я раздуть содержит ListView внутри него

Проблема заключается в том, что он не будет установлен высота динамически, даже если я установил высоту framelayout до wrap_parent. Я должен установить высоту вручную после того, как представление закончит рендеринг, а затем вычислит высоту содержимого.

Мой вопрос: есть ли способ, чтобы список изнутри фрагмента был установлен в wrap_parent, поэтому я не нужно вручную вычислять высоту каждый раз, когда адаптер внутри списка просматривает?

+0

почему вы AINT использовать пользовательские прокрутки представления, обработки ситуации встраивания в виде списка внутри них? –

ответ

1

вы можете написать новый пользовательский View расширяет ListView, и переопределить метод onMeasure(), как это:

охраняемую недействительным onMeasure (интермедиат widthMeasureSpec, внутр heightMeasureSpec) { INT expandSpec = MeasureSpec.makeMeasureSpec (Integer. MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure (ширинаMeasureSpec, expandSpec); }