2015-09-04 2 views
-2

Я создал пользовательский класс представления, этот класс содержит три TextViews. Я просто использую этот пользовательский вид в своем макете Fragment. Моя раскладка, как показано нижеЕсть ли способ обновить или повторно создать пользовательский вид?

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

    <com.abc.views.HeaderView 
     android:id="@+id/headerView" 
     android:visibility="visible" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" > 
    </com.rfs.app.views.HeaderView> 

    <ScrollView 
     android:id="@+id/widget54" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_above="@+id/footerView" 
     android:layout_below="@+id/headerView" > 

     -------------------------------------- 
     -------------------------------------- 

    </ScrollView> 
</RelativeLayout> 

Проблема заключается в том, обновление HeaderView ребенка (изменить текст/цвет), когда я нажимаю на кнопку в моем фрагменте. эти изменения не отражаются мгновенно.

все дочерние элементы являются текстовыми в классе HeaderView.

Есть ли способ для повторного создания или воссоздания этого пользовательского представления?

+2

аннулировать представление! – Raghunandan

+1

Добавьте код Java, пожалуйста – FadedCoder

ответ

0

Очевидно, что ваш пользовательский вид не делает себя недействительным. Убедитесь, что вы вызываете invalidate или postInvalidate, если выполняете работу в фоновом потоке, всякий раз, когда вы хотите, чтобы ваше пользовательское представление вызывало onDraw. Вы можете поделиться своим пользовательским кодом просмотра, чтобы мы могли указать на проблему здесь.

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