Как отобразить активность с 3 фрагментами в прокручиваемом ListView?

У меня есть Activity, который содержит 3 Fragment. И все 3 Fragment содержат ListView.

Я хотел бы знать, как отобразить 3 Fragment в ScrollView в том же Activity?

Пожалуйста, дайте мне знать решение.

Спасибо.


person Jay Dhamsaniya    schedule 22.11.2014    source источник
comment
что вы пробовали до? вы не можете использовать ListView внутри ScrollView.   -  person Haresh Chhelana    schedule 22.11.2014
comment
stackoverflow.com/questions/4949216 /   -  person Riad    schedule 22.11.2014
comment
нет, я не использовал список прокрутки, это просто список   -  person Jay Dhamsaniya    schedule 22.11.2014
comment
@Riad В предоставленной вами ссылке есть фрагменты, вызываемые с использованием кода, в то время как мы вызывали фрагменты с помощью xml. Есть идеи по этому поводу?   -  person Jay Dhamsaniya    schedule 22.11.2014
comment
@HareshChhelana, как сделать полный просмотр списка?   -  person Jay Dhamsaniya    schedule 22.11.2014
comment
размещение представлений, которые прокручиваются в одном направлении, внутри друг друга, не обеспечивает хорошего взаимодействия с пользователем.   -  person Henry    schedule 22.11.2014


Ответы (1)


Поэтому я думаю, что правильный пользовательский интерфейс здесь должен иметь только 1 вид прокрутки, базовый вид прокрутки. Представления списка во фрагменте должны быть расширены, чтобы занять столько места, сколько им нужно.

То, как я это сделал, состояло в том, чтобы переопределить onMeasure, как это

@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
if (MeasureSpec.getMode(heightMeasureSpec) == MeasureSpec.UNSPECIFIED) {
  /**
   * Putting things which like to be scrolled into scrolling views causes bad behavior.
   *
   * The goal here is to simply trick the List view into believing it should fill all available
   * space rather than being undefined.
   */
  heightMeasureSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
}
super.onMeasure(widthMeasureSpec, heightMeasureSpec);

Таким образом, у вас есть 1 прокручиваемый вид и 3 расширенных списка.

person haagmm    schedule 31.05.2016