Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
vovken1997
15 / 13 / 1
Регистрация: 08.07.2012
Сообщений: 190
1

Два Activity

05.02.2015, 23:45. Просмотров 1081. Ответов 9
Метки нет (Все метки)

Здравствуйте!
У меня есть в приложении два Activity. Одно, сама программа, на базе которой написан весь функционал приложения. Вторая, это настройки, которые не влезли на первую Activity. Вопрос собственно в том, как управлять компонентами второй Activity из первой?

Пробовал объявлять глобальные переменные public static и через findViewById подключать к переменной объект (во втором Activity), а затем пользоваться этой переменной из первой Activity. Приложение вылетает!

Пробовал Application, вылетает!

Как это делается по нормальному???
Если можно с небольшим примером)
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.02.2015, 23:45
Ответы с готовыми решениями:

Два onActivityResult в одной Activity
Понимаю что видимо это не реально, но тем не менее. Ситуация в Activity уже...

Два layout в одном activity
Добрый день, господа! такая вот проблемка: public void onCreate(Bundle...

Создать два activity, организовать переход между ними
Нужно создать два activity. Первое должно содержать кнопку btn1. Второе должно...

Можно ли обработать два ListView в пределах одного activity на android?
Делаю небольшое приложение, которое показывает несколько ListView через...

Приложение зависает, если свернуть и развернуть Activity или перейти на другую Activity
У меня в параллельном потоке происходит куча apply() Решение использовать...

9
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,074
06.02.2015, 08:19 2
Немного неправильно у вас изложен смысл программы. Класс Активити это то что у вас на экране, управлять другой из первой нельзя. Можно например передать значения во вторую из первой - см. Intent.
Что значит "настройки, которые не влезли на первую Activity"? Если это настройки программы то см. preferences.xml.
Если хотите чтоб переменные были читаемы из любых классов можете использовать Sharedpreferences.
Цитата Сообщение от vovken1997 Посмотреть сообщение
Как это делается по нормальному??
Опишите подробно, что вы вообще хотите получить от программы.
1
vovken1997
15 / 13 / 1
Регистрация: 08.07.2012
Сообщений: 190
06.02.2015, 10:34  [ТС] 3
У меня в классе первой активити, в файле Mainactivity.java реализованы методы и поток работы с блютусом. Я хочу чтобы настройки этого самого блютуса были не в основном activity, а в дополнительном, чтобы не загромождать главный экран. В настройках есть spinner для выбора устройства и кнопка. И мне надо чтобы когда пользователь нажимал на кнопку, вызвался метод подключения из первого activity. По моему как то так.
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,074
06.02.2015, 11:05 4
Лучший ответ Сообщение было отмечено vovken1997 как решение

Решение

Цитата Сообщение от vovken1997 Посмотреть сообщение
И мне надо чтобы когда пользователь нажимал на кнопку, вызвался метод подключения из первого activity
Значится так, если я правильно понял алгоритм, делаем после нажатия на кнопку запись в Sharedpreferences, закрываем вторую активити (finish), в методе onResume первой активити делаем подключение, предварительно получив данные из Sharedpreferences.
Java
1
2
3
4
5
// записать данные
SharedPreferences pref = getSharedPreferences("data", 1); //получить объект класса SharedPreferences
Editor ed = pref.edit(); // чтобы редактировать данные, определяем Editor
ed.putLong("my_data", 12345); // пишем ключ и значение
ed.commit(); // сохраняем данные
Java
1
2
// получить данные
long my_data = getSharedPreferences("data", 1).getLong("my_data", 0);
1
vovken1997
15 / 13 / 1
Регистрация: 08.07.2012
Сообщений: 190
06.02.2015, 11:21  [ТС] 5
Допустим такой вариант. У меня есть сейчас кнопка и поле для вывода текста на одном Activity. При нажатии на кнопку, меняется текст в TextView(см. скрины).
Сейчас всё хорошо работает.

Но теперь создадим вторую Activity. В ней есть так же поле для вывода текста TextView. И допустим я хочу чтоб при нажатии на кнопку менялся текст в TextView второго активити. Есть огромное желание написать на первом Activity так:
Код
...
TextView Activity2_b1; 

Activity_b1 = (TextView) findViewById(R.id.Activity2_b1);//R.id.Activity2_b1 - допустим это ID TextView на второй активити

Activity_b1.setText("Привет");
...
Но приложение вылетает с ошибкой!

Как сделать так, чтобы можно было управлять из первой Activity, TextView на втором Activity???
0
Миниатюры
Два Activity   Два Activity   Два Activity  

Два Activity  
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,074
06.02.2015, 11:31 6
Да нельзя так делать, т.к. в один момент времени у тебя есть только одна активити. Делай как я писал выше или через передачу intent.
Разница между ними, это то что Sharedpreferences сохраняет данные во внешний файл, а intent оперирует данными только при жизни приложения.
1
arrjj
204 / 195 / 62
Регистрация: 24.09.2014
Сообщений: 532
Завершенные тесты: 1
06.02.2015, 11:57 7
ну или для изврата можно всё запихнуть в одну activity испоьлзуя ViewSwitcher или ViewFlipper
1
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,074
06.02.2015, 12:19 8
Да тут куча вариантов как делать, я вот смотрю на свои первые приложения и рыдаю)
1
vovken1997
15 / 13 / 1
Регистрация: 08.07.2012
Сообщений: 190
06.02.2015, 17:41  [ТС] 9
Rube, возможно ли передать BluetoothAdapter таким способом?
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,074
06.02.2015, 18:25 10
Смотря что он из себя представляет, я с ним не работал, но если какой-то id, то почему нет.
1
06.02.2015, 18:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.02.2015, 18:25

Как из одного Activity перенести фотку в другое Activity?
Собственно необходимо отобразить фотографию в activity2, которую загрузили в...

Изменение layout-элементов одного activity из другого activity
Здравствуйте! Я хочу изменить размер или цвет текста TextView в одном...

Android - Передача данных с одного Activity на другое Activity
Здравствуйте , возникла необходимость получения числовых (int и float ну или...


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

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

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