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

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

Войти
Регистрация
Восстановить пароль
 
vovken1997
15 / 13 / 1
Регистрация: 08.07.2012
Сообщений: 190
#1

Два Activity - Программирование Android

05.02.2015, 23:45. Просмотров 536. Ответов 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
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Два Activity (Программирование Android):

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

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

Можно ли обработать два ListView в пределах одного activity на android? - Программирование Android
Делаю небольшое приложение, которое показывает несколько ListView через ViewFlipper. Для обработки кликов использую найденный на...

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

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

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

9
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
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,071
06.02.2015, 11:05 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от 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,071
06.02.2015, 11:31 #6
Да нельзя так делать, т.к. в один момент времени у тебя есть только одна активити. Делай как я писал выше или через передачу intent.
Разница между ними, это то что Sharedpreferences сохраняет данные во внешний файл, а intent оперирует данными только при жизни приложения.
1
arrjj
200 / 191 / 61
Регистрация: 24.09.2014
Сообщений: 532
Завершенные тесты: 1
06.02.2015, 11:57 #7
ну или для изврата можно всё запихнуть в одну activity испоьлзуя ViewSwitcher или ViewFlipper
1
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
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,071
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 - Программирование Android
например есть Activity2 которое я показываю в Dialog окошке, там у меня находятся Date and Time Picker ы (Дата - начало, Дата - окончание)...

Из одного Activity получить значение другого Activity - Программирование Android
Запускаю активити: public class MainActivity extends Activity { ... ... Intent intent = new Intent(getBaseContext(),...

Вызвать из одной activity функцию другой activity - Программирование Android
вызвать из одного activity функцию другой activity Подскажите, можно ли такое реализовать? Допустим у меня есть основная активити и...

Создание Activity в другом Activity - Программирование Android
Нормально ли создавать экземпляр какого-либо Activity в текущем Activity? Дело в том, что код, нужный для работы с данными находится в...


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

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

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