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

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

Войти
Регистрация
Восстановить пароль
 
yuriy m
0 / 0 / 0
Регистрация: 06.08.2015
Сообщений: 7
#1

Как заменить кнопки ? Бьюсь третьи сутки - Android

06.08.2015, 23:36. Просмотров 328. Ответов 15
Метки нет (Все метки)

Есть основной экран маин(активити1),на нем допустим шесть кнопок,каждая что-то выполняет при кратком нажатии. При длинном нажатии на любую из этих кнопок,мы попадаем на активити 2 .Где есть много разных кнопок.. При нажатии на любую из них ,я должен ПЕРЕПИСАТЬ кнопку на активити1. Загвоздка в том как определить ,что была нажата ,допустим кнопка 3 на первом активити. Что-бы переписывалась именно эта кнопка в этой позиции ? Или подход должен быть другим ?


http://cs629116.vk.me/v629116597/7dad/m--z_BZZffo.jpg

И еще,ребята,а кто знает,можно ли каким-то способом встроить чужое переложение в свое? То бишь ,допустим берем навител (вызываем через intent и т.д.) и встраиваем его в свою область экрана. Как на примере
http://www.pccar.ru/showpost.php?p=170032&postcou
Спасибо. С уважением Юрий.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.08.2015, 23:36     Как заменить кнопки ? Бьюсь третьи сутки
Посмотрите здесь:

Android как правильно раставить кнопки в Table Row?
Android Как растянуть 3 кнопки по ширине layout?
Android Как прикрепить кнопки внизу?
TableLayout. Кнопки получаются разных размеров (кнопки-картинки) Android
Определить нажатие кнопки Home и кнопки сворачивания приложения Android
Android Бьюсь второй день
Как изменить ссылку по нажатию кнопки? Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mikalai
254 / 230 / 93
Регистрация: 11.01.2015
Сообщений: 649
07.08.2015, 01:27     Как заменить кнопки ? Бьюсь третьи сутки #2
как определить ,что была нажата ,допустим кнопка 3 на первом активити
Так же как определяешь какая кнопка нажата, при обработке нажатий нескольких кнопок одним методом. Примерно так:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public void onLongClick(View v) {
    
    switch(v.getId()) {
        case R.id.button1: 
        команда;
        break;
    case R.id.button2: 
        команда;
        break;
    .....................
    default: 
        оператор;
        break;
    }
}
Valakin
430 / 96 / 15
Регистрация: 21.02.2015
Сообщений: 722
07.08.2015, 08:16     Как заменить кнопки ? Бьюсь третьи сутки #3
Цитата Сообщение от yuriy m Посмотреть сообщение
как определить ,что была нажата ,допустим кнопка 3
логично что для этого нужно передать информацию с первой активити во вторую
например, можно создать класс application переменные которого можно получить и в первом и во втором активити
PaDyra
32 / 32 / 8
Регистрация: 06.01.2012
Сообщений: 142
07.08.2015, 09:52     Как заменить кнопки ? Бьюсь третьи сутки #4
Цитата Сообщение от Valakin Посмотреть сообщение
логично что для этого нужно передать информацию с первой активити во вторую
Java
1
2
3
Intent intent = new Intent(ClassName.this, TheSecondActivity.class);
intent.putExtra("buttonNumber", 1); // номер кнопки 1, 2, 3... и т.д.
startActivity(intent);
в другом активити просто извлекаете данные и смотрите, какая кнопка была нажата
yuriy m
0 / 0 / 0
Регистрация: 06.08.2015
Сообщений: 7
07.08.2015, 10:06  [ТС]     Как заменить кнопки ? Бьюсь третьи сутки #5
Домой приеду выложу код. Как организовано сейчас - при нажатии длительно на любую из кнопок на первом активити, первое ,мы присваиваем переменной id кнопки,тем самым мы знаем какая кнопка была нажата последней. Второе вызываем intent и переходим на другое активити,где много кнопок. При нажатии на любую из кнопок,вы возвращаем Id кнопки из второго в первую активити. А вот дальше начинаются проблемы. Нам же кроме id нужно еще текст и логотип присвоить к кнопке,пусть это громоздко ,но можно организовать... Но почему-то основная проблема вылазит в том ,что кнопки на первой активитм,начинают присваиваться хаотично,Ведь может случится так что на первой активити есть две одинаковые кнопки под одним и темже ID... Вот тогда все получается через Ж. А можно ли как-то отслеживать кнопки не по id ? а допустим по индексу привязанный конкретно к своему месту в лайоут ? Как вообще грамотно организовать алгоритм замены кнопок ?
PaDyra
32 / 32 / 8
Регистрация: 06.01.2012
Сообщений: 142
07.08.2015, 10:45     Как заменить кнопки ? Бьюсь третьи сутки #6
Цитата Сообщение от yuriy m Посмотреть сообщение
Как вообще грамотно организовать алгоритм замены кнопок ?
Что из себя представляет "замена кнопок"? Поменять название, поменять действие на нажатие, или что-то другое?
yuriy m
0 / 0 / 0
Регистрация: 06.08.2015
Сообщений: 7
07.08.2015, 11:05  [ТС]     Как заменить кнопки ? Бьюсь третьи сутки #7
Картинка в первом посте. Есть основное активити. На нем допустим шесть кнопок, каждая кнопка имеет свою функцию при нажатии. Допустим при первом запуске программы,после установки,кнопки выполняют функцию по делфолту. Кнопка 1 = функция1,Кнопка 2 = функция2 и т.д. Но существует намного больше функций кнопок,чем может вместить в себя основной экран,допустим 18 . Захотелось допустим мне поменять функции кнопок либо местами из этих шести ,либо заменить какие на те из 12 новых ,которые есть на другом активити. То я нажимаю на кнопку ,длительным нажатием onLongClick допустим на кнопку 2 в первом активити и попадаю на экран второго активити ,где есть 18 кнопок. При нажатии на любую из них ,я автоматом возвращаюсь на первый экран и кнопка №2 уже имеет другую функцию. Которая равняется той кнопке,которую я нажимал на активити 2. Соответственно кнопка 2 ,должна поменять еще и внешний вид (текст,значек,и.т.д). Ну как-то так.
Ну и соответственно ,после выхода из программы ,сохранить свои новые параметры (но это уже другая история...)
PaDyra
32 / 32 / 8
Регистрация: 06.01.2012
Сообщений: 142
07.08.2015, 11:11     Как заменить кнопки ? Бьюсь третьи сутки #8
Цитата Сообщение от yuriy m Посмотреть сообщение
Но существует намного больше функций кнопок,чем может вместить в себя основной экран,допустим 18
ScrollView и ваши проблемы будут решены с количеством кнопок)

Добавлено через 3 минуты
Цитата Сообщение от yuriy m Посмотреть сообщение
При нажатии на любую из них ,я автоматом возвращаюсь на первый экран и кнопка №2 уже имеет другую функцию. Которая равняется той кнопке,которую я нажимал на активити 2. Соответственно кнопка 2 ,должна поменять еще и внешний вид (текст,значек,и.т.д). Ну как-то так.
Если хотите именно таким образом делать... то советую использовать Fragment-ы. Одно Activity и просто подгружаете туда нужный фрагмент, соответственно у каждого фрагмента можете описывать любой функционал, и обрабатывать нажатия
Mikalai
254 / 230 / 93
Регистрация: 11.01.2015
Сообщений: 649
07.08.2015, 12:40     Как заменить кнопки ? Бьюсь третьи сутки #9
Ведь может случится так что на первой активити есть две одинаковые кнопки под одним и темже ID...
Не может быть 2-х одинаковых ID
Valakin
430 / 96 / 15
Регистрация: 21.02.2015
Сообщений: 722
07.08.2015, 12:59     Как заменить кнопки ? Бьюсь третьи сутки #10
Цитата Сообщение от Mikalai Посмотреть сообщение
Не может быть 2-х одинаковых ID
да, это точно, тогда бы вся логика рухнула, в файле R можно убедится в этом
Паблито
2007 / 1749 / 543
Регистрация: 12.05.2014
Сообщений: 6,192
Завершенные тесты: 1
07.08.2015, 12:59     Как заменить кнопки ? Бьюсь третьи сутки #11
я ба начал с изучения метода startActivityForResult что бы понимать вообще как можно получить ответ от второй активити
yuriy m
0 / 0 / 0
Регистрация: 06.08.2015
Сообщений: 7
07.08.2015, 13:48  [ТС]     Как заменить кнопки ? Бьюсь третьи сутки #12
Цитата Сообщение от Паблито Посмотреть сообщение
я ба начал с изучения метода startActivityForResult что бы понимать вообще как можно получить ответ от второй активити
Да с этим все вроде ок,результат я получаю...

Цитата Сообщение от PaDyra Посмотреть сообщение
Если хотите именно таким образом делать... то советую использовать Fragment-ы. Одно Activity и просто подгружаете туда нужный фрагмент, соответственно у каждого фрагмента можете описывать любой функционал, и обрабатывать нажатия
Насчет фрагментов ,я тоже подумываю....

Добавлено через 3 минуты
Цитата Сообщение от PaDyra Посмотреть сообщение
ScrollView и ваши проблемы будут решены с количеством кнопок)
Смотря как можно организовать. Если при длительном нажатии выпадал список,и при выборе ставилась кнопка,то да.
А если одной кнопкой просто список ,то это немного не то...
Паблито
2007 / 1749 / 543
Регистрация: 12.05.2014
Сообщений: 6,192
Завершенные тесты: 1
07.08.2015, 13:54     Как заменить кнопки ? Бьюсь третьи сутки #13
раскрой секрет - распиши что именно будет на этих кнопках, многие пользователи видали много разных компонентов и, вероятно, смогут подсказать как эту задачу решить без всех этих потуг с 18-ю кнопками
PaDyra
32 / 32 / 8
Регистрация: 06.01.2012
Сообщений: 142
07.08.2015, 14:58     Как заменить кнопки ? Бьюсь третьи сутки #14
Цитата Сообщение от yuriy m Посмотреть сообщение
Смотря как можно организовать. Если при длительном нажатии выпадал список,и при выборе ставилась кнопка,то да.
А если одной кнопкой просто список ,то это немного не то...
ScrollView это не список, это полоса прокрутки, и если количество элементов будет больше, чем вмещает экран, то появится бегунок
yuriy m
0 / 0 / 0
Регистрация: 06.08.2015
Сообщений: 7
07.08.2015, 16:20  [ТС]     Как заменить кнопки ? Бьюсь третьи сутки #15
Цитата Сообщение от PaDyra Посмотреть сообщение
ScrollView это не список, это полоса прокрутки, и если количество элементов будет больше, чем вмещает экран, то появится бегунок
Нет это не то. Должно выглядеть как на картинке в первом посте...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.08.2015, 14:49     Как заменить кнопки ? Бьюсь третьи сутки
Еще ссылки по теме:

Android Обновление данных один раз в сутки
Android Как создать кнопку по нажатию кнопки?
Оформление кнопки: отследить, вмещается ли текст в размеры кнопки Android
Android Как поменять цвет нажатой кнопки в runtime?
Изменение размера текста кнопки вместе с размером самой кнопки? Android

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

Или воспользуйтесь поиском по форуму:
PaDyra
32 / 32 / 8
Регистрация: 06.01.2012
Сообщений: 142
09.08.2015, 14:49     Как заменить кнопки ? Бьюсь третьи сутки #16
Цитата Сообщение от yuriy m Посмотреть сообщение
Нет это не то. Должно выглядеть как на картинке в первом посте...
Используйте фрагменты, думаю это самое простое решение
Yandex
Объявления
09.08.2015, 14:49     Как заменить кнопки ? Бьюсь третьи сутки
Ответ Создать тему
Опции темы

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