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

Сравнить drawable в ImageView с картинкой из папки res/drawable одинаковые они или нет? - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Не отображается игровое поле после выхода из другого активити http://www.cyberforum.ru/android-dev/thread1514100.html
Когда я выхожу из другого активити и пытаюсь зайти в игру,котороe у меня в главном активити,игровое поле не отображается. вот мой код.в чем дело package es.eduards.pacman; import...
Программирование Android Шифрование с п0м0щью шифра Вернама (одноразовый блокнот) qq. Есть ли примеры шифрования данных(аудио, картинки, текст) с помощью шифра Вернама ? Добавлено через 23 часа 1 минуту Статья на хабре http://habrahabr.ru/post/187606/ p.s. если есть... http://www.cyberforum.ru/android-dev/thread1514094.html
Программирование Android Единицы измерения задаваемые в коде
Есть такой код listview1.LayoutParameters = new ViewGroup.LayoutParams(400, ViewGroup.LayoutParams.MatchParent); IDE подсвечивает первый аргумент как int width однако не понятно какие единицы...
Создать свою папку под ресурсы Программирование Android
У мен под проект идет очень много изображений и есть очень остра необходимость как-то систематизировать их, раскидать по собственным папкам. Работаю на андроид студии. при создании новой папки(правый...
Программирование Android Отключение / Включение Google Analytics в приложении http://www.cyberforum.ru/android-dev/thread1514062.html
Собственно возник вопрос. Как сделать так, что бы пользователь, например на экране настроек, мог отключать или включать сбор аналитики. - Это одно из требований Google Play, для размещения...
Программирование Android Отключение атрибутов xml взависимости от версии дроида Столкнулся с проблемой КардВью по разному выглядит на 5ом дроиде и более старых. Подскажите как можно отключить некоторые атрибуты в старых версиях дроида? <android.support.v7.widget.CardView... подробнее

Показать сообщение отдельно
Сергей Смирнов
0 / 0 / 0
Регистрация: 20.06.2015
Сообщений: 10

Сравнить drawable в ImageView с картинкой из папки res/drawable одинаковые они или нет? - Программирование Android

13.08.2015, 13:19. Просмотров 357. Ответов 0
Метки (Все метки)

Пишу пятнашки. После того, как собрал всё по порядку нужно проверить последовательность и написать "Вы выйграли!".
Каждая ячейка это ImageView с картинкой из папки res/drawable.
Пятнашки работают, но проверку сделать не могу.

Проверяю пока только 2 элемента из 16.
Строка 106 НЕ РАБОТАЕТ! Не пойму как это записать.

ПОЖАЛУЙСТА ПОМОГИТЕ!!!

Вот код:
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
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
public class Main extends Activity implements View.OnClickListener {
 
    ImageView view01;
    ImageView view02;
    ImageView view03;
    ImageView view04;
    ImageView view05;
    ImageView view06;
    ImageView view07;
    ImageView view08;
    ImageView view09;
    ImageView view10;
    ImageView view11;
    ImageView view12;
    ImageView view13;
    ImageView view14;
    ImageView view15;
    ImageView view16;
 
    ImageView[] mas = new ImageView[16];
 
    TextView textView;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity);
 
        textView = (TextView) findViewById(R.id.textView);
 
        view01 = (ImageView) findViewById(R.id.number01);
        view02 = (ImageView) findViewById(R.id.number02);
        view03 = (ImageView) findViewById(R.id.number03);
        view04 = (ImageView) findViewById(R.id.number04);
        view05 = (ImageView) findViewById(R.id.number05);
        view06 = (ImageView) findViewById(R.id.number06);
        view07 = (ImageView) findViewById(R.id.number07);
        view08 = (ImageView) findViewById(R.id.number08);
        view09 = (ImageView) findViewById(R.id.number09);
        view10 = (ImageView) findViewById(R.id.number10);
        view11 = (ImageView) findViewById(R.id.number11);
        view12 = (ImageView) findViewById(R.id.number12);
        view13 = (ImageView) findViewById(R.id.number13);
        view14 = (ImageView) findViewById(R.id.number14);
        view15 = (ImageView) findViewById(R.id.number15);
        view16 = (ImageView) findViewById(R.id.number16);
 
        mas[0] = view01;
        mas[1] = view02;
        mas[2] = view03;
        mas[3] = view04;
        mas[4] = view05;
        mas[5] = view06;
        mas[6] = view07;
        mas[7] = view08;
        mas[8] = view09;
        mas[9] = view10;
        mas[10] = view11;
        mas[11] = view12;
        mas[12] = view13;
        mas[13] = view14;
        mas[14] = view15;
        mas[15] = view16;
 
        for (int i = 0; i < 16; i++) {
            final int finalI = i;
            mas[i].setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
 
                    if (finalI != 3 && finalI != 7 && finalI != 11 && finalI != 15) {
                        if (mas[finalI + 1].getDrawable() == null) {
                            mas[finalI + 1].setImageDrawable(mas[finalI].getDrawable());
                            mas[finalI].setImageDrawable(null);
                        }
                    }
 
                    if (finalI != 0 && finalI != 4 && finalI != 8 && finalI != 12) {
                        if (mas[finalI - 1].getDrawable() == null) {
                            mas[finalI - 1].setImageDrawable(mas[finalI].getDrawable());
                            mas[finalI].setImageDrawable(null);
                        }
                    }
 
                    if (finalI != 12 && finalI != 13 && finalI != 14 && finalI != 15) {
                        if (mas[finalI + 4].getDrawable() == null) {
                            mas[finalI + 4].setImageDrawable(mas[finalI].getDrawable());
                            mas[finalI].setImageDrawable(null);
                        }
                    }
 
                    if (finalI != 0 && finalI != 1 && finalI != 2 && finalI != 3) {
                        if (mas[finalI - 4].getDrawable() == null) {
                            mas[finalI - 4].setImageDrawable(mas[finalI].getDrawable());
                            mas[finalI].setImageDrawable(null);
                        }
                    }
                    winner();
                }
            });
        }
    }
 
    public void winner() {
        if (
                mas[0].getDrawable().equals(getResources().getDrawable(R.drawable.number01)) &&
                mas[15].getDrawable() == null
                ) {
            textView.setText("Вы выйграли!");
        }
    }
 
    @Override
    public void onClick(View v) {
    }
}
Добавлено через 1 час 16 минут
Придумал сам, создал второй массив Drawable куда и записал нужный порядок, а потом просто сравнил 2 массива
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru