0

Я разрабатываю определенный тип календаря, показывающий события в некоторые дни, а также показываю список событий соответствующего месяца под календарем. Для этого я получаю от Caldroid. Вот основной файл xml:Android viewpager не отображается в случае, если другие объекты динамически раздуты под ним

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    tools:context="com.vbs.android.caltest.MainActivity" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fadingEdgeLength="0dp" 
    android:fillViewport="true" 
    android:overScrollMode="never" 
    android:orientation="vertical"> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:weightSum="2" 
    android:orientation="vertical"> 

    <LinearLayout 
     android:id="@+id/calendar1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:orientation="vertical"/> 



    <LinearLayout 
     android:id="@+id/eventsList" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:orientation="vertical"/> 
</LinearLayout> 
</ScrollView> 

В календарь1 Расположен Caldroid. Вот XML-файл Caldroid:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
style="?styleCaldroidViewLayout" 
android:orientation="vertical" > 

<LinearLayout 
    android:id="@+id/calendar_title_view" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal"> 

    <Button 
     android:id="@+id/calendar_left_arrow" 
     style="?styleCaldroidLeftArrow" /> 

    <TextView 
     android:id="@+id/calendar_month_year_textview" 
     style="?styleCaldroidMonthName"/> 

    <Button 
     android:id="@+id/calendar_right_arrow" 
     style="?styleCaldroidRightArrow" /> 
    </LinearLayout> 

    <GridView 
    android:id="@+id/weekday_gridview" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="-10dp" 
    android:numColumns="7" 
    android:stretchMode="columnWidth" > 
    </GridView> 

    <com.antonyt.infiniteviewpager.InfiniteViewPager 
    android:id="@+id/months_infinite_pager" 
    android:layout_width="match_parent" 
    android:layout_height="fill_parent"/> 




</LinearLayout> 

Итак, скриншот Caldroid приложения является: enter image description here

Проблема заключается в том, что, когда я пытаюсь раздувать события в eventsList (LinearLayout) в ViewPager часть календаря не отображается. Я использую следующий метод, чтобы раздуть 3 textViews в eventsList:

public void eventListFiller(){ 
    eventInflater = 
    (LayoutInflater)this.getSystemService(this.LAYOUT_INFLATER_SERVICE); 
    eventsContainer = (LinearLayout) findViewById(R.id.eventsList); 
    View eventContent; 

    for (int i=0; i<array.length; i++){ 
     eventContent = eventInflater.inflate(R.layout.event_list, null); 
     TextView startDateTextView = 
     (TextView) eventContent.findViewById(R.id.startDateTextView); 
     TextView endDateTextView = 
    (TextView) eventContent.findViewById(R.id.endDateTextView); 
     TextView eventTitle =(TextView)eventContent. 
     findViewById(R.id.titleTextView); 
     startDateTextView.setText("startDate"); 
     endDateTextView.setText("endDate"); 
     eventTitle.setText(array[i]); 
     eventsContainer.addView(eventContent); 
    } 

    Log.d("Runned", "EventsListFilled"); 
} 

Помогите мне, в чем проблема. Заранее спасибо.

+0

Большое спасибо Bence, я решил проблему с помощью подхода Mielet's (https://github.com/mielet). –

ответ

0

Учитывайте гораздо более гибкую библиотеку DureyCalendarView. Он не использует фрагмент, вы можете поместить пользовательское представление, когда захотите, и можете легко определить свой XML-макет.

+0

Большое спасибо Bence, я решил проблему через подход Mielet's (github.com/mielet) –

Смежные вопросы