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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
Twi7ter
3 / 3 / 1
Регистрация: 27.03.2013
Сообщений: 147
#1

Одинаковые названия id для 2х кнопок - Программирование Android

26.10.2014, 21:37. Просмотров 1429. Ответов 24
Метки нет (Все метки)

Пишу приложение и там есть 2 xml файла,что то типа диалога,там я ввожу данные элемента которого хочу добавить в БД,так вот у меня на каждом из этих 2 xml файлов есть по кнопке Ok и Cancel, назвал id я на каждой кнопке btnOK и btnCancel,подскажите,пожалуйста,можно ли как то прописать чтоб я обращался к id конкретного xml файла,а то если через R.id обращаться ,то он 1е попавшееся значение берет ?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2014, 21:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Одинаковые названия id для 2х кнопок (Программирование Android):

Как поменять названия кнопок местами в Java? - Программирование Android
есть поле из 5 кнопок с числами(названиями кнопок) от 1 до 5. Помогите написать код для того чтобы менять местами числа(названия) кнопок...

TMainmenu названия кнопок - Delphi
Господа Написал программу с компонентом TMainmenu хочу сделать ее на разных языках, то есть мне нужно по необходимости поменять...

Изменить названия кнопок - Delphi
if MessageDlg('Вы действительно хотите удалить выбранный ингредиент?',mtWarning, mbOKCancel, 0) = mrOk then ...

Одинаковые package и названия классов - Java SE
Здравствуйте ув. пользователи данного форума, у меня следующая проблема. Существует класс MyClass в MyPackage и в myJar.jar, и второй...

Одинаковые названия функций QT и Socket - C++ Qt
Добрый день. Вопрос заключается в том, что мне нужно написать программу работающую с помощью сокетов с интерфейсом qt. Столкнулся с такой...

QInputDialog сменить названия кнопок - C++ Qt
Всем привет. Возможно ли в стандартном диалоге сменить названия кнопок (Cancel->Отмена )? Вызываю жиалог так: spDays =...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
27.10.2014, 16:49 #2
Все возьмется как надо не переживайте.
0
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
27.10.2014, 18:52 #3
А зачем вообще делать одинаковые id?
0
dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
27.10.2014, 18:55 #4
А почему бы и нет? У меня 3 xml по сути одинаковые. В самом коде мы цепляем нужный layout, а остальное остается неизменным.
0
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
27.10.2014, 18:58 #5
Ок тогда зачем три одинаковых xml?
0
dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
27.10.2014, 19:02 #6
Не одинаковых, а по сути одинаковых. Кое что все-таки у них разное. Например для виджетов. Некоторые параметры RemoteView не дает менять программно.
0
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
27.10.2014, 19:09 #7
Ну если так - да, имеет смысл. А для всего остального есть мастеркард фрагменты)
0
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
28.10.2014, 05:23 #8
Два года уже "кодю", а полезности фрагментов пока не понял... Наоборот пишу "костыли" лишь бы от них избавиться там где считается что без них нельзя (ViewPager)...

Когда Вы подключаете в свое активити XML он становится "главным". Id-ы ищутся ТОЛЬКО в нем. Внутри одного активити Id должны быть уникальными. Но если есть 2 активити с разными XML то они "пересекаться" не будут!
0
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
28.10.2014, 08:04 #9
Тоже избегал их долго. Но всетаки с ними кода намного меньше. 1 раз нарисовал xml, сделал абстрактный фрагмент, описал в нем весь общий код - и все хоть миллион вариаций этого фрагмента в пару строк кода каждая. Это как свой виджет только удобнее)
2
CoolMind
419 / 402 / 65
Регистрация: 06.10.2012
Сообщений: 1,727
28.10.2014, 10:55 #10
Tester64, я взял чужой проект, было не выбирать - пришлось работать с фрагментами. Обратно на работу с активностями пока не тянет в том смысле, что активности, по сути, это совершенно разные формы, а фрагменты удобны для единообразия. Например, есть MainActivity со своими шапкой и подвалом, едиными для всего приложения. Средняя часть может меняться. Удобнее сделать это фрагментами, чем прописывать такое поведение в каждой активности. Кроме того, навигация по активностям может несколько отличаться (наверное) от таковой по фрагментам. С фрагментами можно, например, добавить их несколько в стек, потом часть выбросить.
Но есть и минусы. Требуется внимательность. У фрагментов свой жизненный цикл, не всегда пересекающийся с жизненным циклом активностей. Кроме того, при длительных переходах с одного фрагмента на другой активность может быть уничтожена, что может привести к крэшу приложения, если не знать, как это обойти.
1
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
28.10.2014, 16:47 #11
Цитата Сообщение от CoolMind Посмотреть сообщение
Обратно на работу с активностями пока не тянет в том смысле, что активности, по сути, это совершенно разные формы, а фрагменты удобны для единообразия. Например, есть MainActivity со своими шапкой и подвалом, едиными для всего приложения. Средняя часть может меняться. Удобнее сделать это фрагментами, чем прописывать такое поведение в каждой активности. Кроме того, навигация по активностям может несколько отличаться (наверное) от таковой по фрагментам. С фрагментами можно, например, добавить их несколько в стек, потом часть выбросить.
Я это все пока пишу через includ'ы в xml.
Они "заворачиваются" в лейауты и управляют их видмостью. Подмена инклюда в проекте меняет кусок во всех активити. Например блок цветных кнопок Да-Нет внизу каждого диалога. Так-же инклюдами делают ВСЕ фиксированные закладки в одном активити. Без динамического создания. Когда даже очень сложная активити не превышает 500 строк это удобнее чем разрезать ее на 5-6 фрагментов и каждый оформлять своими файлами и кодом. И потом еще устраивать обмен сообщений между фрагментами вместо наглого обращения к компонентам по ID из любого места кода в любую закладку (даже не видимую сейчас).

Сейчас пишу свой компонент - составной блок из списка, графического (рисованого) скролла и цветных кнопок управления списком под ним (с командой спрятать/показать). По идее будет "унифицирован" и воткнут в большинство моих проектов - проще подключение к коду, заготовки для работы со справочниками и т.д... Подумываю обернуть это в фрагменты... Но если сейчас это перепишу, боюсь усложнить общение с основной программой. Сейчас его интеграция в проект включает инклюд в активити
XML
1
2
3
4
5
6
7
8
9
10
11
    <LinearLayout
        android:id="@+id/ll_list_2"
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="0.9"
        >
 
        <include layout="@layout/inc_ref_list_def_full" />
 
    </LinearLayout>
И клас-обвертка для работы с ним. Натравливаю класс прямо на R.id.ll_list_2. Остальные компоненты он находит сам через строковые теги (2 раза могу в одном активити использовать без риска продублировать ID).
Напрямую прописываю реакторы через интерфейсы и отсылаю команды в него методами. Через функцию могу получить (например) размер списка или видимость кнопок. Или задать размеры и цвета рисованного скролла.
Неужели подобного можно добиться фрагментами?
2
CoolMind
419 / 402 / 65
Регистрация: 06.10.2012
Сообщений: 1,727
28.10.2014, 17:34 #12
Tester64, я незнаком с инклюдами, но примерно понял. Подскажите, пожалуйста, как вы делаете следующую вещь: у вас на экране есть три вкладки (например, прогноз погоды на сегодня, завтра и на неделю или что угодно), вы перемещаетесь между ними (с первой на вторую вкладку, затем на третью). Нажимаете кнопку "назад" и возвращаетесь не с третьей вкладки во вторую, а сразу на стартовый экран.
0
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
28.10.2014, 19:29 #13
Цитата Сообщение от CoolMind Посмотреть сообщение
Подскажите, пожалуйста, как вы делаете следующую вещь: у вас на экране есть три вкладки (например, прогноз погоды на сегодня, завтра и на неделю или что угодно), вы перемещаетесь между ними (с первой на вторую вкладку, затем на третью). Нажимаете кнопку "назад" и возвращаетесь не с третьей вкладки во вторую, а сразу на стартовый экран.
Или я не понял вопроса или Вы термины путаете...
ЗАкладки не равны Активити! А "Вкладки"? Закладки - это как "заложеные страницы в книжке". Микрокнопки переключатели в верху страницы. При нажатии на закладку на шапке тело активити меняется.
А активити... из одной можно переходить в другую лишь вызвав ее. Как переоткрыть программу в винде или положить ее снизу наверх.

"Назад" обычно закрывает текущую активити. Но ее можно перехватить назначив свой обработчик. Там можно либо вызывать заново первое окно либо закрыть текущее назначив некий глобальный маркер прошлой что-бы тоже закрылав как только ей передадут фокус.. (сам такого пока не делал)
0
dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
28.10.2014, 19:39 #14
Цитата Сообщение от Tester64 Посмотреть сообщение
Подмена инклюда в проекте меняет кусок во всех активити.
А можете и это прокомментировать? Подмена где и как. Спасибо
0
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
28.10.2014, 20:10 #15
Цитата Сообщение от dubok79 Посмотреть сообщение
А можете и это прокомментировать? Подмена где и как.
Инклюды помогают создавать СОСТАВНЫЕ XML файлы. Делить длинный файл на блоки. Например у меня была активити с 3мя закладками. В каждой закладке было от 10 элементов (кнопки, редакторы, галочки). Редактировать все это в одном файле - тяжело! Предварительный просмотр хватает только первую закладку. Опять-же можно делать "заготовки" элементов. Например едитор с кнопкой. Или заготовку для кнопок да-нет внизу активити. Тогда подправив лишь в одном месте заготовку она исправится во всех активити. Так-же можно для двух разных проектов просто перекидывать заготовки между проектами. Например стильные надписи...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.10.2014, 20:10
Привет! Вот еще темы с ответами:

Смена названия кнопок в MsgBox - Visual Basic .NET
Здравствуйте! Возможно ли в msgbox задать свои названия кнопок, т.е. вместо &quot;Да&quot; &quot;Нет&quot;, было &quot;До&quot;...

Одинаковые названия столбцов в таблицах и JOIN - PHP БД
Привет, мир. Имеються 2е таблицы: tb1 |id|name|... tb2 |id|name|id_tb1|... и запрос $res= mysql_query('SELECT * FROM tb1...

Названия кнопок меню постоянно мерцают - C (СИ)
Здравствуйте, пишу меню с использованием мышки, на Турбо Си, проблема в том что названия кнопок меню постоянно мерцают, а сами кнопки не...

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
28.10.2014, 20:10
Ответ Создать тему
Опции темы

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