ListFragment всегда использует match_parent / fill_parent - PullRequest
2 голосов
/ 12 мая 2011

У кого-нибудь есть решение для ListFragment, всегда заставляющее себя вести себя с match_parent вместо wrap_content, я поместил его в LinearLayout с wrap_content и использовал что-то вроде

getView().setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,70));

в ListFragment и даже установить принудительную ширину в строке xml, но он все еще использует match_parent. Также кажется, что даже если я использую фрагмент в XML или добавляю фрагмент списка динамически, он все равно заставляет себя match_parent.

Любая помощь будет потрясающей. спасибо

Ответы [ 2 ]

0 голосов
/ 18 сентября 2011

Как я уже упоминал в моем комментарии выше, у меня была похожая проблема. Мне удалось исправить мою проблему; может быть, это вам тоже поможет.

В своей Деятельности я создавал Фрагмент так:

DepartmentsFragment dFragment = new DepartmentsFragment();
dFragment.setArguments(getIntent().getExtras());
dFragment.setRetainInstance(true);
getSupportFragmentManager().beginTransaction().add(
        android.R.id.content, dFragment).commit();

Я изменил четвертую строку следующим образом:

getSupportFragmentManager().beginTransaction().add(
        R.id.list, dFragment).commit();

чтобы отразить идентификатор представления, которое я хотел заменить своим фрагментом, и он начал работать как нужно. android.R.id.content говорил, что он умещается на весь экран.

Надеюсь, это поможет!

0 голосов
/ 12 мая 2011

Вы можете иметь определенные размеры для ширины и высоты ListView, или вы можете иметь match_parent. wrap_content на самом деле не имеет никакого смысла для ListView, тем более что типы элементов в списке могут меняться - поэтому список может иметь ширину 200 пикселей, если это ширина самого широкого видимого элемента, но тогда, если вы прокручиваемый вниз самый широкий элемент может иметь ширину 300 пикселей, что приведет к изменению ширины ListView.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...