Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
yuriy m
0 / 0 / 0
Регистрация: 06.08.2015
Сообщений: 7
1

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

06.08.2015, 23:36. Просмотров 449. Ответов 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
Спасибо. С уважением Юрий.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.08.2015, 23:36
Ответы с готовыми решениями:

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

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

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

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

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

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

Добавлено через 3 минуты
Цитата Сообщение от yuriy m Посмотреть сообщение
При нажатии на любую из них ,я автоматом возвращаюсь на первый экран и кнопка №2 уже имеет другую функцию. Которая равняется той кнопке,которую я нажимал на активити 2. Соответственно кнопка 2 ,должна поменять еще и внешний вид (текст,значек,и.т.д). Ну как-то так.
Если хотите именно таким образом делать... то советую использовать Fragment-ы. Одно Activity и просто подгружаете туда нужный фрагмент, соответственно у каждого фрагмента можете описывать любой функционал, и обрабатывать нажатия
0
Mikalai
264 / 240 / 95
Регистрация: 11.01.2015
Сообщений: 670
07.08.2015, 12:40 9
Ведь может случится так что на первой активити есть две одинаковые кнопки под одним и темже ID...
Не может быть 2-х одинаковых ID
0
Valakin
431 / 97 / 15
Регистрация: 21.02.2015
Сообщений: 740
07.08.2015, 12:59 10
Цитата Сообщение от Mikalai Посмотреть сообщение
Не может быть 2-х одинаковых ID
да, это точно, тогда бы вся логика рухнула, в файле R можно убедится в этом
0
Pablito
2731 / 2166 / 735
Регистрация: 12.05.2014
Сообщений: 7,581
Завершенные тесты: 1
07.08.2015, 12:59 11
я ба начал с изучения метода startActivityForResult что бы понимать вообще как можно получить ответ от второй активити
0
yuriy m
0 / 0 / 0
Регистрация: 06.08.2015
Сообщений: 7
07.08.2015, 13:48  [ТС] 12
Цитата Сообщение от Паблито Посмотреть сообщение
я ба начал с изучения метода startActivityForResult что бы понимать вообще как можно получить ответ от второй активити
Да с этим все вроде ок,результат я получаю...

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

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

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

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

Бьюсь уже неделю и не могу поставить 7-ку
Помогите пожалуйста!Бьюсь уже неделю и не могу поставить 7-ку.Процесс...


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

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

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