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

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

Войти
Регистрация
Восстановить пароль
 
JavaStarter
11 / 11 / 3
Регистрация: 14.05.2015
Сообщений: 52
#1

Swap resources одной кнопкой - Android

21.11.2015, 03:23. Просмотров 193. Ответов 6
Метки нет (Все метки)

Здравствуйте. Подскажите, пожалуйста, как можно сделать так, чтобы два текст. поля обменивались своими ресурсами(текст, цвет) посредством нажатия одной кнопки. Я понимаю, что можно сделать двумя кнопками, но как одной - немогу понять.
Пока сделал так, что при нажатии они меняются ресурсами один раз:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        tv1 = (TextView) findViewById(R.id.text1);
        tv2 = (TextView) findViewById(R.id.text2);
 
        Button button1 = (Button) findViewById(R.id.button1);
        button1.setOnClickListener(new View.OnClickListener(){
 
            @Override
            public void onClick(View v) {
            
                tv1.setText(getResources().getText(R.string.hello));
                tv1.setTextColor(getResources().getColor(R.color.colorAccent));
 
                tv2.setText(getResources().getText(R.string.helloandroid));
                tv2.setTextColor(getResources().getColor(R.color.colorPrimaryDark));
 
            }
        });
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2015, 03:23     Swap resources одной кнопкой
Посмотрите здесь:

Работа с кнопкой Button Android
Завершать активити с внешней кнопкой power в android Android
Android Другой кнопкой из дочерней активности изменить фон той кнопки, которая в родительской активити
Помимо файла apk, образовался файл resources.ap_. Его нужно будет заливать на сайт тоже? Android
Android String-array resources, как глобальная переменная
Как сохранить данные при свертывании аппаратной кнопкой "Back"? Android
Простое приложение с одной кнопкой Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
bastrakov
91 / 91 / 14
Регистрация: 10.10.2015
Сообщений: 307
Записей в блоге: 1
21.11.2015, 07:38     Swap resources одной кнопкой #2
ну сделайте третью невидимую кнопку, которая будет буфером.
хотя с точки зрения тестового задания для собеседования, это плохой способ.
таки это задание или просто надо? :-)
JavaStarter
11 / 11 / 3
Регистрация: 14.05.2015
Сообщений: 52
21.11.2015, 07:56  [ТС]     Swap resources одной кнопкой #3
Спасибо за ответ. Это условие задания такое) Можно сделать двумя кнопками, но в условии именно одной
YuraAAA
 Аватар для YuraAAA
1564 / 1306 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
21.11.2015, 11:57     Swap resources одной кнопкой #4
JavaStarter, я бы сделал так:

Java
1
2
3
4
private static class SettingHolder {
        private int color;
        private String text;
    }
и свап:
Java
1
2
3
4
5
6
7
8
9
SettingHolder settingHolder = new SettingHolder();
        settingHolder.color = textView1.getCurrentTextColor();
        settingHolder.text = textView1.getText().toString();
 
        textView1.setText(textView2.getText());
        textView1.setTextColor(textView2.getCurrentTextColor());
 
        textView2.setText(settingHolder.text);
        textView2.setTextColor(settingHolder.color);
bastrakov
91 / 91 / 14
Регистрация: 10.10.2015
Сообщений: 307
Записей в блоге: 1
21.11.2015, 17:37     Swap resources одной кнопкой #5
стоп-стоп. или я Вас запутал, или Вы меня.
у Вас 2 текстовых поля и одна кнопка. при нажатии на кнопку, текстовые поля должны обмениваться цветом и текстом.
совет YuraAAA должен Вам подойти для реальной жизни. можно даже не делать отдельный класс, а обойтись парой локальных переменных.
если вопрос про задание, которое критично сделать без использования дополнительных переменных, то есть другой путь.
таки уточните. :-)
JavaStarter
11 / 11 / 3
Регистрация: 14.05.2015
Сообщений: 52
22.11.2015, 05:45  [ТС]     Swap resources одной кнопкой #6
Спасибо за ответы! Это ошибка препода была, нужно было один раз swap resources сделать. Извиняюсь, что сразу не уточнил!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.11.2015, 06:16     Swap resources одной кнопкой
Еще ссылки по теме:

Android Android.content.res.Resources$NotFoundException: String resource ID #0xffffffaf
Android В классе не Activity доступ к Resources
Android Как открывать/закрывать NavigationDrawer кнопкой "Menu"
Всплывающий бар с кнопкой как в slack Android
Searchview закрыть поиск программно, также как закрывается кнопкой back Android

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

Или воспользуйтесь поиском по форуму:
bastrakov
91 / 91 / 14
Регистрация: 10.10.2015
Сообщений: 307
Записей в блоге: 1
22.11.2015, 06:16     Swap resources одной кнопкой #7
...дело в том, что есть очень популярная задача на собеседовании, которая напоминает Ваш вопрос.
http://tproger.ru/problems/write-a-f...ary-variables/
Yandex
Объявления
22.11.2015, 06:16     Swap resources одной кнопкой
Ответ Создать тему
Опции темы

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