Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Kenobi OV
0 / 0 / 0
Регистрация: 23.01.2016
Сообщений: 3
#1

Не работает анимация в строках ListView - Android

23.01.2016, 20:56. Просмотров 225. Ответов 4

Пытаюсь реализовать серверный запрос, после чего удалить элемент ListView, по которому кликнул пользователь. Во время запроса к серверу в View строки добавляется ProgressBar, анимация которого не работает (ProgressBar становится видимым, но не вращается). ListView находится в Fragment, который появляется при некоторых действиях пользователя.
Исходный код инициализации View ListAdapter'a:

Java
1
2
3
4
5
6
7
8
9
10
11
12
private void createNewView(final UserInfo userInfo, final int position) {
    LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    final View rowView = inflater.inflate(R.layout.listadapter_row_item, null, false);
 
    TextView mainText = (TextView) rowView.findViewById(R.id.dutyUsersListadapterMainTextview);
    mainText.setText(userInfo.lastname);
 
    TextView additionalText = (TextView) rowView.findViewById(R.id.dutyUsersListadapterAdditionalTextview);
    additionalText.setText(String.format("%s %s", userInfo.firstname, userInfo.middlename));
 
    mViews.add(rowView);
}
Отображение ProgressBar в строке ListView:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
mUsersList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, final View view, final int position, long id) {
        final ProgressBar pb = (ProgressBar) view.findViewById(R.id.adapter_row_deleting_progressbar);
        pb.setVisibility(View.VISIBLE);
 
        RestClient.getInstance().addUser(selectedUser.id, new TextHttpResponseHandler() {
            @Override
            public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
                pb.setVisibility(View.GONE);
                mUsersListAdapter.setEnabled(position, true);
            }
 
            @Override
            public void onSuccess(int statusCode, Header[] headers, String responseString) {
                pb.setVisibility(View.GONE);
                view.setAnimation(AnimationUtils.loadAnimation(activity, R.anim.move_to_left_animation));
                new Handler() {{
                    postDelayed(new Runnable() {
                        @Override
                        public void run() {
                            mUsersListAdapter.removeItem(position);
                            activity.resetFragmentsData();
                        }
                    }, 500);
                }};
            }
        });
    }
});
Исходный код layout-файла listadapter_row_item:

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<ImageView
    android:layout_weight=".2"
    android:layout_width="0dp"
    android:layout_height="@dimen/userlist_photo_height"
    android:id="@+id/listadapterImage"
    android:src="@drawable/empty_user_photo" />
 
<LinearLayout
    android:orientation="vertical"
    android:layout_weight=".6"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:padding="10dp">
 
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="Lastname"
        android:id="@+id/listadapterMainTextview" />
 
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="Firstname Middlename"
        android:id="@+id/usersListadapterAdditionalTextview" />
 
</LinearLayout>
 
<RelativeLayout
    android:orientation="vertical"
    android:layout_weight=".2"
    android:layout_width="0dp"
    android:layout_height="@dimen/duty_userlist_photo_height"
    android:weightSum="1"
    android:gravity="center_vertical|center_horizontal">
    <ProgressBar
        style="?android:attr/progressBarStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/adapter_row_deleting_progressbar"
        android:indeterminate="true"
        android:visibility="gone" />
</RelativeLayout>
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2016, 20:56     Не работает анимация в строках ListView
Посмотрите здесь:

Android Анимация одного пункта в ListView
Android ListView. После добавления кнопки перестал быть доступен сам ListView
ListView не работает выбор элемента Android
Анимация ListView Android
Android Не работает анимация загрузки
Не работает метод ListView::setChoiceMode Android
Изменил фон для Custom ListView не работает подсветка при нажатии Android
В ListView не работает OnItemClickListener Android
ListView не работает Android
Android Анимация в Listview (добавление/удаление)
Данные из SQlite в ListView, обработка события ListView Android
В Webview не работает анимация CSS Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
montanaPy
2 / 2 / 1
Регистрация: 19.01.2015
Сообщений: 112
24.01.2016, 01:42     Не работает анимация в строках ListView #2
ProgressBar нужно анимировать самостоятельно и запускать в отдельном потоке во время выполнения продолжительной операций. Вот тут написано про это и тут
Kenobi OV
0 / 0 / 0
Регистрация: 23.01.2016
Сообщений: 3
24.01.2016, 15:54  [ТС]     Не работает анимация в строках ListView #3
Вы не поняли вопроса. В строке ListView не работает вообще никакая анимация. Проблема обнаружилась при попытке сделать анимированным удаление элементов списка. После этого добавил вращающийся ProgressBar, уведомляющий пользователя о происходящей операции, а анимации как не было, так и не появилось (анимации врещения ProgressBar также нет)
YuraAAA
1565 / 1307 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
24.01.2016, 16:04     Не работает анимация в строках ListView #4
Kenobi OV, а если убрать gone из разметки, будет виден прогрессбар?
Kenobi OV
0 / 0 / 0
Регистрация: 23.01.2016
Сообщений: 3
24.01.2016, 16:36  [ТС]     Не работает анимация в строках ListView #5
Да, прогрессбар виден, но анимации так и нет
Yandex
Объявления
24.01.2016, 16:36     Не работает анимация в строках ListView
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru