Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 06.08.2015
Сообщений: 7
1

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

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

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


http://cs629116.vk.me/v6291165... BZZffo.jpg

И еще,ребята,а кто знает,можно ли каким-то способом встроить чужое переложение в свое? То бишь ,допустим берем навител (вызываем через intent и т.д.) и встраиваем его в свою область экрана. Как на примере
http://www.pccar.ru/showpost.php?p=170032&postcou
Спасибо. С уважением Юрий.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.08.2015, 23:36
Ответы с готовыми решениями:

Acronis recovery expert проверяет диск третьи сутки
запущена функция Acronis recovery expert проверяет диск и исправляет ошибки.. уже 3 сутки(процесс...

Как нажатие кнопки заменить на внутренний класс?
Добрый день, допустим есть много кнопок с почти одинаковым функционалом, как можно заменить метод...

Как несколько раз заменить текст Label по нажатию на кнопки
Я делаю лабу. типо викторины. И мне надо что бы на форме немялись вопросы. Я не как не могу понять...

Как заменить спрайт кнопки только когда мышь находится на кнопке
Все это в 2D. При нажатии на кнопку меняется её спрайт, но когда мышь зажата и отводится от...

15
266 / 242 / 96
Регистрация: 11.01.2015
Сообщений: 673
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;
    }
}
0
435 / 101 / 15
Регистрация: 21.02.2015
Сообщений: 845
07.08.2015, 08:16 3
Цитата Сообщение от yuriy m Посмотреть сообщение
как определить ,что была нажата ,допустим кнопка 3
логично что для этого нужно передать информацию с первой активити во вторую
например, можно создать класс application переменные которого можно получить и в первом и во втором активити
0
33 / 33 / 25
Регистрация: 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);
в другом активити просто извлекаете данные и смотрите, какая кнопка была нажата
0
0 / 0 / 0
Регистрация: 06.08.2015
Сообщений: 7
07.08.2015, 10:06  [ТС] 5
Домой приеду выложу код. Как организовано сейчас - при нажатии длительно на любую из кнопок на первом активити, первое ,мы присваиваем переменной id кнопки,тем самым мы знаем какая кнопка была нажата последней. Второе вызываем intent и переходим на другое активити,где много кнопок. При нажатии на любую из кнопок,вы возвращаем Id кнопки из второго в первую активити. А вот дальше начинаются проблемы. Нам же кроме id нужно еще текст и логотип присвоить к кнопке,пусть это громоздко ,но можно организовать... Но почему-то основная проблема вылазит в том ,что кнопки на первой активитм,начинают присваиваться хаотично,Ведь может случится так что на первой активити есть две одинаковые кнопки под одним и темже ID... Вот тогда все получается через Ж. А можно ли как-то отслеживать кнопки не по id ? а допустим по индексу привязанный конкретно к своему месту в лайоут ? Как вообще грамотно организовать алгоритм замены кнопок ?
0
33 / 33 / 25
Регистрация: 06.01.2012
Сообщений: 142
07.08.2015, 10:45 6
Цитата Сообщение от yuriy m Посмотреть сообщение
Как вообще грамотно организовать алгоритм замены кнопок ?
Что из себя представляет "замена кнопок"? Поменять название, поменять действие на нажатие, или что-то другое?
0
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 ,должна поменять еще и внешний вид (текст,значек,и.т.д). Ну как-то так.
Ну и соответственно ,после выхода из программы ,сохранить свои новые параметры (но это уже другая история...)
0
33 / 33 / 25
Регистрация: 06.01.2012
Сообщений: 142
07.08.2015, 11:11 8
Цитата Сообщение от yuriy m Посмотреть сообщение
Но существует намного больше функций кнопок,чем может вместить в себя основной экран,допустим 18
ScrollView и ваши проблемы будут решены с количеством кнопок)

Добавлено через 3 минуты
Цитата Сообщение от yuriy m Посмотреть сообщение
При нажатии на любую из них ,я автоматом возвращаюсь на первый экран и кнопка №2 уже имеет другую функцию. Которая равняется той кнопке,которую я нажимал на активити 2. Соответственно кнопка 2 ,должна поменять еще и внешний вид (текст,значек,и.т.д). Ну как-то так.
Если хотите именно таким образом делать... то советую использовать Fragment-ы. Одно Activity и просто подгружаете туда нужный фрагмент, соответственно у каждого фрагмента можете описывать любой функционал, и обрабатывать нажатия
0
266 / 242 / 96
Регистрация: 11.01.2015
Сообщений: 673
07.08.2015, 12:40 9
Ведь может случится так что на первой активити есть две одинаковые кнопки под одним и темже ID...
Не может быть 2-х одинаковых ID
0
435 / 101 / 15
Регистрация: 21.02.2015
Сообщений: 845
07.08.2015, 12:59 10
Цитата Сообщение от Mikalai Посмотреть сообщение
Не может быть 2-х одинаковых ID
да, это точно, тогда бы вся логика рухнула, в файле R можно убедится в этом
0
2883 / 2295 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
07.08.2015, 12:59 11
я ба начал с изучения метода startActivityForResult что бы понимать вообще как можно получить ответ от второй активити
0
0 / 0 / 0
Регистрация: 06.08.2015
Сообщений: 7
07.08.2015, 13:48  [ТС] 12
Цитата Сообщение от Паблито Посмотреть сообщение
я ба начал с изучения метода startActivityForResult что бы понимать вообще как можно получить ответ от второй активити
Да с этим все вроде ок,результат я получаю...

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

Добавлено через 3 минуты
Цитата Сообщение от PaDyra Посмотреть сообщение
ScrollView и ваши проблемы будут решены с количеством кнопок)
Смотря как можно организовать. Если при длительном нажатии выпадал список,и при выборе ставилась кнопка,то да.
А если одной кнопкой просто список ,то это немного не то...
0
2883 / 2295 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
07.08.2015, 13:54 13
раскрой секрет - распиши что именно будет на этих кнопках, многие пользователи видали много разных компонентов и, вероятно, смогут подсказать как эту задачу решить без всех этих потуг с 18-ю кнопками
0
33 / 33 / 25
Регистрация: 06.01.2012
Сообщений: 142
07.08.2015, 14:58 14
Цитата Сообщение от yuriy m Посмотреть сообщение
Смотря как можно организовать. Если при длительном нажатии выпадал список,и при выборе ставилась кнопка,то да.
А если одной кнопкой просто список ,то это немного не то...
ScrollView это не список, это полоса прокрутки, и если количество элементов будет больше, чем вмещает экран, то появится бегунок
0
0 / 0 / 0
Регистрация: 06.08.2015
Сообщений: 7
07.08.2015, 16:20  [ТС] 15
Цитата Сообщение от PaDyra Посмотреть сообщение
ScrollView это не список, это полоса прокрутки, и если количество элементов будет больше, чем вмещает экран, то появится бегунок
Нет это не то. Должно выглядеть как на картинке в первом посте...
0
33 / 33 / 25
Регистрация: 06.01.2012
Сообщений: 142
09.08.2015, 14:49 16
Цитата Сообщение от yuriy m Посмотреть сообщение
Нет это не то. Должно выглядеть как на картинке в первом посте...
Используйте фрагменты, думаю это самое простое решение
0
09.08.2015, 14:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.08.2015, 14:49
Помогаю со студенческими работами здесь

Как заменить старую инлайн клавиатуру, на новую, при нажатии кнопки?
Здравствуйте! Всех с праздниками! Помогите пожалуйста, в php слабоват... ;( Имеется php бот,...

Как узнать код нажатия кнопки на джойстике и заменить его на клавиатуре?
Доброго времени суток Уважаемые форумчане. Помогите решить проблему. Имеется программа Novus...

Помогите!!! Бьюсь о Dreamweaver MX
Не могу понять: почему когда тестирую страницу написанную на ASP, то браузер кажет, что страница не...

Бьюсь второй день
Помогите пожалуйста!Происходит утечка памяти,когда вводишь и даже удаляешь текст из...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru