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

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

Войти
Регистрация
Восстановить пароль
 
ArtemisLab
0 / 0 / 0
Регистрация: 04.03.2015
Сообщений: 8
#1

Не передаются значения при их передаче в другое активити - Программирование Android

04.03.2015, 22:21. Просмотров 431. Ответов 13
Метки нет (Все метки)

Собственно, обработчик по клику в первом активти:
Java
1
2
3
        Intent shopintent = new Intent(MainActivity.this, Shop.class);
        shopintent.putExtra("MainCoins", Maincoins);
        startActivity(shopintent);
Принимающее активити:
Java
1
2
        Intent intent = getIntent();
        Shopcoins = intent.getIntExtra("MainCoins", MainActivity.Maincoins);
Что не так?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.03.2015, 22:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не передаются значения при их передаче в другое активити (Программирование Android):

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

Передача с одного активити в другое - Программирование Android
Помогите!!!Есть два активити в первом я ввожу данные в editText как мне сделать передачу в listview другого активити.Я сделал но у меня...

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

Передача константы в другое активити - Программирование Android
Здравствуйте. Задача такая: нужно из одного активити передать в другое константу с именем xml файла. т.е. в первом активити при...

Передача двойного массива в другое активити - Программирование Android
помогите с передачей данных из адаптера в активити из двойного массива, мне нужно так чтобы соблюдалось id по нажатию на кнопку, если...

Передача двойного массива в другое активити - Программирование Android
Доброго времени суток, возникла проблема с массивом! Пытаюсь передать через putExtra двойной массив в другое активити и оно не хочет...

13
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
05.03.2015, 08:06 #2
MainActivity.Maincoins это статик? Зачем тогда intent нужен?
0
ArtemisLab
0 / 0 / 0
Регистрация: 04.03.2015
Сообщений: 8
05.03.2015, 08:07  [ТС] #3
Типо можно использовать его в других классах без интента?
P.S. переделал, опять не работает
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
05.03.2015, 09:32 #4
Цитата Сообщение от ArtemisLab Посмотреть сообщение
Типо можно использовать его в других классах без интента?
Типо да, но не привыкай.
Цитата Сообщение от ArtemisLab Посмотреть сообщение
P.S. переделал, опять не работает
Ждем экстасенсев!
1
ArtemisLab
0 / 0 / 0
Регистрация: 04.03.2015
Сообщений: 8
05.03.2015, 10:04  [ТС] #5

Java
1
2
3
4
5
6
7
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_shop);
        Intent intent = getIntent();
        smokybtn = (Button) findViewById(R.id.smokybtn);
        Shopcoins = MainActivity.Maincoins;
    }
Вот так можно передавать? Просто прописывая путь?
Java
1
    public static int Maincoins;
0
dan41k
]:->
98 / 92 / 13
Регистрация: 12.11.2013
Сообщений: 398
05.03.2015, 13:49 #6
Java
1
2
        Shopcoins = MainActivity.Maincoins;
    }
Ну вот тут вы и присвоили значение
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
05.03.2015, 14:29 #7
Это лишнее: Shopcoins = MainActivity.Maincoins;
Просто используйте MainActivity.Maincoins.
0
Pablito
2496 / 1980 / 618
Регистрация: 12.05.2014
Сообщений: 6,923
Завершенные тесты: 1
05.03.2015, 14:36 #8
а я каждый раз влезаю и говорю, что интенты почти всегда лишние
без них никак только если надо что-то передать в другое приложение
а если между активити в своем приложении надо передать пару значений то можно и статик полями не побрезговать
0
Spelcrawler
527 / 497 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
05.03.2015, 14:41 #9
Цитата Сообщение от Паблито Посмотреть сообщение
а если между активити в своем приложении надо передать пару значений то можно и статик полями не побрезговать
Тут может быть проблема в том, что после выгрузки приложения из памяти ваши статичные значения пропадут и приложение упадет с NPE. А интент восстановится и все данные в нем тоже.
1
ArtemisLab
0 / 0 / 0
Регистрация: 04.03.2015
Сообщений: 8
05.03.2015, 22:32  [ТС] #10
Сегодня 14:29
Rube Это лишнее: Shopcoins = MainActivity.Maincoins;
Просто используйте MainActivity.Maincoins.
То есть? Мне же надо присваивать Shopcoins значение Maincoins... Или я что-то не понимаю?
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
06.03.2015, 09:40 #11
Цитата Сообщение от ArtemisLab Посмотреть сообщение
Или я что-то не понимаю?
Ну и будут в классе 2 одинаковые переменные.
1
Ev[G]eN
iOS/Android Developer
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
06.03.2015, 11:20 #12
Отправка:
Java
1
2
3
        Intent sendData = new Intent(getApplicationContext(), MainActivity2.class);
        sendData.putExtra("data", Integer.parseInt(editText.getText().toString()));
        startActivity(sendData);
Принятие:
Java
1
2
        Intent receiveData = getIntent();
        textView.setText(String.valueOf(receiveData.getIntExtra("data", 0)));
1
ArtemisLab
0 / 0 / 0
Регистрация: 04.03.2015
Сообщений: 8
06.03.2015, 12:03  [ТС] #13

Я добавлял значение в переменную coins, а передавал Maincoins Все естественно сейчас работает, всем спасибо!)
0
Pablito
2496 / 1980 / 618
Регистрация: 12.05.2014
Сообщений: 6,923
Завершенные тесты: 1
06.03.2015, 13:00 #14
Цитата Сообщение от Spelcrawler Посмотреть сообщение
Тут может быть проблема в том, что после выгрузки приложения из памяти ваши статичные значения пропадут и приложение упадет с NPE. А интент восстановится и все данные в нем тоже.
В его случае интент это из пушки по воробьям.
Я просто оставлю этот здесь http://developer.android.com/guide/faq/framework.html#3
A public static field/method

An alternate way to make data accessible across Activities/Services is to use public static fields and/or methods. You can access these static fields from any other class in your application. To share an object, the activity which creates your object sets a static field to point to this object and any other activity that wants to use this object just accesses this static field.
0
06.03.2015, 13:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.03.2015, 13:00
Привет! Вот еще темы с ответами:

Как вызвать другое активити в контексном меню - Программирование Android
Как вызвать другое активити в контексном меню

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

Можно ли скопировать текст в одном активити, и вставить через буфер обмена в другое? - Программирование Android
как используя буфер обмена (класс clipboard )скопировать текст в одном активити и вставить из буфера обмена в другое?Можно ли так делать...

На телефоне highscreen 3 на всех активити происходит быстрый самовозврат к главной активити - Программирование Android
Сделал меню в виде ListView. При клике на меню запускаются активити. На эмуляторе работает, на телефоне моем LG все работает. На телефоне...


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

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

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