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

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

Войти
Регистрация
Восстановить пароль
 
metrolog
4 / 4 / 0
Регистрация: 18.11.2012
Сообщений: 101
#1

Изменение ImageView из отдельного потока - Android

29.04.2013, 10:14. Просмотров 693. Ответов 2
Метки нет (Все метки)

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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/t1t"
    android:orientation="vertical" >
 
    <com.example.games.Game
        android:id="@+id/game"
        android:layout_width="match_parent"
        android:layout_height="555dp" />
 
    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
 
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="51dp"
            android:layout_gravity="bottom" >
 
            <Button
                android:id="@+id/button1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@color/way1"
                android:text="пуск"
                android:textColor="#191970" />
 
            <Button
                android:id="@+id/menu"
                android:layout_width="50dp"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"
                android:background="@color/way1"
                android:text="меню"
                android:textColor="#191970" />
 
            <ImageView
                android:id="@+id/image3"
                android:layout_width="50dp"
                android:layout_height="50dp"
                android:layout_marginLeft="10dp"
                android:background="@drawable/sprites1" />
 
            <ImageView
                android:id="@+id/image2"
                android:layout_width="50dp"
                android:layout_height="50dp"
                android:layout_marginLeft="10dp"
                android:background="@drawable/sprites1" />
 
            <ImageView
                android:id="@+id/image1"
                android:layout_width="50dp"
                android:layout_height="50dp"
                android:layout_marginLeft="10dp"
                android:background="@drawable/sprites1" />
 
        </LinearLayout>
 
    </FrameLayout>
 
</LinearLayout>
нужно из потока SurfaceView при определенном событие сменить картинку на imageview.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 public void setImage(int a){
      switch(a){
      case 1:
          image1.setBackgroundResource(R.drawable.sprites2);
          break;
      case 2:
         image2.setBackgroundResource(R.drawable.sprites2);
          break;
      case 3:
          image3.setBackgroundResource(R.drawable.sprites2);
          break;
      }
      
  }
выполняю его в SurfaceView при событии. Выдает ошибки.

Как правильно обратиться к imageview из класса отрисовки?
заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.04.2013, 10:14     Изменение ImageView из отдельного потока
Посмотрите здесь:

Массив из ImageView Android
Программное изменение размеров ImageView Android
Снова ImageView Android
Android Взаимодействие с ImageView
Изменение View, не из того потока, в котором оно создано Android
Android Наследование от ImageView
Программное изменение src в ImageView Android
Сохранение ImageView Android
Сохранить ImageView Android
Android Таблица из ImageView
Android Анимация ImageView
Android ImageView и анимация

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
29.04.2013, 11:51     Изменение ImageView из отдельного потока #2
Менять UI можно только из UI потока.

Добавлено через 1 минуту
используйте Handler/runOnUiThread()/view.post().
metrolog
4 / 4 / 0
Регистрация: 18.11.2012
Сообщений: 101
29.04.2013, 12:12  [ТС]     Изменение ImageView из отдельного потока #3
так и сделал.
спасибо.
Yandex
Объявления
29.04.2013, 12:12     Изменение ImageView из отдельного потока
Ответ Создать тему
Опции темы

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