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

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

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

Как поменять названия кнопок местами в Java? - Программирование Android

11.10.2015, 23:08. Просмотров 501. Ответов 10
Метки нет (Все метки)

есть поле из 5 кнопок с числами(названиями кнопок) от 1 до 5.
Помогите написать код для того чтобы менять местами числа(названия) кнопок любую на любую.
проблема в запоминании первой кнопки, чтобы в нее засунуть значение второй кнопки.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.10.2015, 23:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как поменять названия кнопок местами в Java? (Программирование Android):

Одинаковые названия id для 2х кнопок - Программирование Android
Пишу приложение и там есть 2 xml файла,что то типа диалога,там я ввожу данные элемента которого хочу добавить в БД,так вот у меня на каждом...

Добавление кнопок на LinearLayout на Java - Программирование Android
Здравствуйте. Пытался создать LinearLayout и поместить на него 2 кнопки через Java. Но на LinearLayout отображается только та кнопка,...

Поменять цвет кнопок, не убрав анимацию нажатия - Программирование Android
Ребята, как это сделать? http://savepic.ru/13462938.jpg Как видите, текст в кнопках белый, а кнопки - синие и зелёные. Если задать...

Поменять местами внутренюю память и внешнюю - Программирование Android
Чтото непонятной творится)) Когда я захожу в проводник то sdcard -это внешняя, mnt/sdcard тоже, но телефон всё равно устанавливается всё во...

Поменять местами два значения из столбца SQLite - Программирование Android
Доброго времени суток . Есть таблица с 2 столбами ( id,text) .Нужно поменять местами значения text из разных строк. Было id text ...

Поменять местами названия двух гоpодов, названия котоpых оканчиваются сочетанием букв «гpад» - Pascal ABC
Задан список из десяти гоpодов. Поменять местами названия двух гоpодов, названия котоpых оканчиваются сочетанием букв «гpад».

10
Valakin
431 / 97 / 15
Регистрация: 21.02.2015
Сообщений: 731
12.10.2015, 08:25 #2
Цитата Сообщение от Saska81 Посмотреть сообщение
проблема в запоминании первой кнопки
создаете переменную string, она и запомнить текст из первой кнопки
0
Saska81
3 / 0 / 0
Регистрация: 11.10.2015
Сообщений: 16
12.10.2015, 10:16  [ТС] #3
Цитата Сообщение от Valakin Посмотреть сообщение
создаете переменную string, она и запомнить текст из первой кнопки
) согласен, это легко,
я даже сохраню текст из второй кнопки, и во вторую кнопку сохраню текст из первой кнопки, а что дальше?
как вызвать (любую) ранее нажатую кнопку, чтобы сохранить в неё текст второй кнопки.
это просто понять как должно выглядеть - текст кнопок меняется местами, но как это реализовать?
0
Spelcrawler
527 / 497 / 111
Регистрация: 12.03.2014
Сообщений: 1,663
Завершенные тесты: 1
12.10.2015, 14:02 #4
Saska81, нужно запоминать кнопки при кликах и менять текст после второго клика, примерно так:
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
    private Button mFirstButton;
    private Button mSecondButton;
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //Находим все 5 кнопок, которые нужны и вешаем всем листенер
        button.setOnClickListener(listener);
    }
 
    View.OnClickListener listener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if(mFirstButton == null){
                onFirstButtonClicked((Button) v);
            } else {
                onSecondButtonClicked((Button) v);
            }
        }
    };
    
    private void onFirstButtonClicked(Button button){
        mFirstButton = button;
    }
    
    private void onSecondButtonClicked(Button button){
        mSecondButton = button;
        String firstText = String.valueOf(mFirstButton.getText());
        String secondText = String.valueOf(mSecondButton.getText());
        
        mFirstButton.setText(secondText);
        mSecondButton.setText(firstText);
        
        mFirstButton = null;
        mSecondButton = null;
    }
1
Saska81
3 / 0 / 0
Регистрация: 11.10.2015
Сообщений: 16
12.10.2015, 14:24  [ТС] #5
Spelcrawler, спасибо!
а можно увидеть класс Bundle ? что в нем?
0
Spelcrawler
527 / 497 / 111
Регистрация: 12.03.2014
Сообщений: 1,663
Завершенные тесты: 1
12.10.2015, 14:25 #6
Цитата Сообщение от Saska81 Посмотреть сообщение
а можно увидеть класс Bundle
Он хранит состояние активити. В метод onCreate() стандартный посмотрите.
1
Saska81
3 / 0 / 0
Регистрация: 11.10.2015
Сообщений: 16
12.10.2015, 16:31  [ТС] #7
Spelcrawler, не могу разобраться ((
подчеркивает красным Bundle и View.OnClickListener
подскажите, в чем может быть причина?

Добавлено через 1 час 8 минут
Spelcrawler, извините за навязчивость, но как мне соединить вышеупомянутый код со своим?
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
package Button;
 
import java.awt.Button;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
 
public class Button12345 {
 
    private Frame p1;
    private Button b1, b2, b3, b4, b5;
 
    public Button12345() {
        p1 = new Frame("Меняем кнопки местами");
 
        b1 = new Button("1");
        b2 = new Button("2");
        b3 = new Button("3");
        b4 = new Button("4");
        b5 = new Button("5");
    }
 
    public void launchFrame() {
 
        p1.setSize(500, 150);
        p1.setLayout(new GridLayout(1, 5));
        p1.add(b1); p1.add(b2); p1.add(b3); p1.add(b4); p1.add(b5);
 
        b1.addActionListener(new ActionListener() {
 
            public void actionPerformed(ActionEvent arg0) {
 
            }
        });
 
        p1.addWindowListener(new CloseW3());
 
        p1.setVisible(true);
    }
 
    public static void main(String[] args) {
        Button12345 gu3 = new Button12345();
        gu3.launchFrame();
    }
}
 
class CloseW3 extends WindowAdapter {
 
    public void windowClosing(WindowEvent arg0) {
        System.exit(0);
    }
}
помогите пожалуйста
0
Spelcrawler
527 / 497 / 111
Регистрация: 12.03.2014
Сообщений: 1,663
Завершенные тесты: 1
12.10.2015, 17:03 #8
Saska81, дак это у вас не андроид. Замените листенеры на те, что в awt используют, метод onCreate уберите и назначьте листенеры на кнопки в методе public Button12345().
1
Saska81
3 / 0 / 0
Регистрация: 11.10.2015
Сообщений: 16
12.10.2015, 18:33  [ТС] #9
Spelcrawler, ...если знаете как, помогайте, я уже запутался совсем

и модераторы....не хотят эту тему в раздел Java перебросить((

Дайте код - Скажу Спасибо, поставлю +1 и определю в лучший ответ
0
Spelcrawler
527 / 497 / 111
Регистрация: 12.03.2014
Сообщений: 1,663
Завершенные тесты: 1
12.10.2015, 18:50 #10
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Примерно как-то так)
Кликните здесь для просмотра всего текста
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
package com.company;
 
 
import java.awt.Button;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
 
public class Button12345 implements ActionListener{
 
    private Frame p1;
    private Button b1, b2, b3, b4, b5;
    private Button mFirstButton;
    private Button mSecondButton;
 
    public Button12345() {
        p1 = new Frame("Меняем кнопки местами");
 
        b1 = new Button("1");
        b2 = new Button("2");
        b3 = new Button("3");
        b4 = new Button("4");
        b5 = new Button("5");
 
        b1.addActionListener(this);
        b2.addActionListener(this);
        b3.addActionListener(this);
        b4.addActionListener(this);
        b5.addActionListener(this);
    }
 
    public void launchFrame() {
 
        p1.setSize(500, 150);
        p1.setLayout(new GridLayout(1, 5));
        p1.add(b1); p1.add(b2); p1.add(b3); p1.add(b4); p1.add(b5);
 
        b1.addActionListener(new ActionListener() {
 
            public void actionPerformed(ActionEvent arg0) {
 
            }
        });
 
        p1.addWindowListener(new CloseW3());
 
        p1.setVisible(true);
    }
 
    public static void main(String[] args) {
        Button12345 gu3 = new Button12345();
        gu3.launchFrame();
    }
 
    @Override
    public void actionPerformed(ActionEvent e) {
        if(mFirstButton == null){
            onFirstButtonClicked((Button) e.getSource());
        } else {
            onSecondButtonClicked((Button) e.getSource());
        }
    }
 
    private void onFirstButtonClicked(Button button){
        mFirstButton = button;
    }
 
    private void onSecondButtonClicked(Button button){
        mSecondButton = button;
        String firstText = mFirstButton.getLabel();
        String secondText = mSecondButton.getLabel();
 
        mFirstButton.setLabel(secondText);
        mSecondButton.setLabel(firstText);
 
        mFirstButton = null;
        mSecondButton = null;
    }
 
}
 
class CloseW3 extends WindowAdapter {
 
    public void windowClosing(WindowEvent arg0) {
        System.exit(0);
    }
}
1
Saska81
3 / 0 / 0
Регистрация: 11.10.2015
Сообщений: 16
12.10.2015, 21:36  [ТС] #11
Spelcrawler, и снова здрасьте
я собственно вот по какому вопросу... методы )
есть ряд методов которые нужно запускать каждый раз когда меняются числа местами...
я понимаю что вызов метода нужно писать в private void onSecondButtonClicked(Button button){ здесь }, но по причине "начинающий программист" методы вставленные в onSecondButtonClicked не работают, да и числа перестают переставляться (
как правильно вписать в Listener любые методы?

Добавлено через 27 минут
Всем спасибо! ))
Я разобрался сам Ура!!! ))))
(все работало, ошибка была в другом)
0
12.10.2015, 21:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.10.2015, 21:36
Привет! Вот еще темы с ответами:

Как поменять местами цвета кнопок? - C#
Всем привет.Нам дали лабу с заданием: 5.Добавить в форму две кнопки (1 и 2), для которых задать различные цвета (свойство BackColor). ...

Возможно ли поменять у конфирма названия кнопок потверждения OK и Отмена? - JavaScript
Возможно ли поменять у конфирма названия кнопок потверждения OK и Отмена или хотябы перебросить фокус с кнопки ОК на кнопку Отмена?

Задан список из десяти гоpодов. Поменять местами названия пеpвого гоpода и любого дpугого - Pascal ABC
помогите решить задачи))) 18) Задан список из десяти гоpодов. Поменять местами названия пеpвого гоpода и любого дpугого,...

Поменять местами названия первого города и любого другого, которое содержит более семи букв - Pascal ABC
Задан список из десяти городов. (array of string) Поменять местами названия первого города и любого другого, которое содержит более семи...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

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