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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.88
tree00
1 / 1 / 0
Регистрация: 13.01.2014
Сообщений: 34
#1

Передача данных между активити - Программирование Android

30.01.2014, 12:46. Просмотров 3507. Ответов 28
Метки нет (Все метки)

как сделать так чтобы при нажатии на кнопку в первом активити изменялись данные во втором активити, но без перехода в него, а переход осуществлялся при нажатии второй кнопки. Вот полный код первого и второго активити:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package com.example.activity01;
 
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;
 
public class MainActivity extends Activity implements OnClickListener {
 
  ImageButton btnActTwo;
 
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
 
    btnActTwo = (ImageButton) findViewById(R.id.BtnAct2);
    btnActTwo.setOnClickListener(this);
    
    btnActTwo = (ImageButton) findViewById(R.id.BtnAct3);
    btnActTwo.setOnClickListener(this);
    
  }
 
  @Override
  public void onClick(View v) {
      Intent intent = new Intent(this, MainActivity2.class);
      switch (v.getId()) {
          case R.id.BtnAct2:
              startActivity(intent);
              break;
          case R.id.BtnAct3:
              intent.putExtra("animm", R.drawable.animationdemo2);
              
      }
  }
}



Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
package com.example.activity02;
 
import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.graphics.drawable.AnimationDrawable;
import android.view.MotionEvent;
import android.widget.ImageView;
 
 
 
 
public class MainActivity2 extends Activity  {
    
    MediaPlayer Aud;
    MediaPlayer Aud2;
    
 
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main_activity2);
       
    Aud = MediaPlayer.create(this, R.raw.alarm);
    Aud.setLooping(true);
    Aud.start();
   
    final ImageView img=(ImageView)findViewById(R.id.image1);
    Bundle extras = getIntent().getExtras();
 
    if (extras != null) {
        int value = extras.getInt("animm");
        
}
    else
    img.setBackgroundResource(R.drawable.animationdemo);  
    img.post(new Runnable() {
        
        @Override
        public void run() {
            AnimationDrawable animation=(AnimationDrawable)img.getBackground();
             animation.start();
            
        }
    });
  
     
}
  @Override
  public boolean onTouchEvent(MotionEvent event) 
  {
      if(event.getAction() == MotionEvent.ACTION_DOWN) {
      Aud2 = MediaPlayer.create(this, R.raw.trew1);
      Aud2.setLooping(true);  
      Aud2.start();  
      }
       if (event.getAction() == MotionEvent.ACTION_UP)
      {
        Aud2.reset();  
      }
      return super.onTouchEvent(event);
  }
  
  @Override
  public void onPause(){
  Aud.stop();
  finish();
    super.onPause();
  }
  }

Надо поменять animationdemo на animationdemo2. Что я тут сделал не так?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.01.2014, 12:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Передача данных между активити (Программирование Android):

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

Передача чисел между активити - Программирование Android
Реакция на нажатие кнопки, переход в другое активити и передача значения переменной GAME_SCORE = 15; Intent intent = new...

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

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

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

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

28
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
21.08.2014, 20:47 #16
Зачем передавать данные в активити, если не переходить в нее? Это принципиально важно для ответа.
0
yura91
1 / 25 / 2
Регистрация: 23.10.2013
Сообщений: 2,305
21.08.2014, 20:55 #17
ну просто второе активити у меня запускается изначально кнопкой а потом нажимая на вторую кнопку пользователь передает строку ключ который запускает фоновый поток во втором активити когда срабатывает метод onNewIntent второго активити данные должны прийти в этот метод как это сделать я пытаюсь а как исправить тогда мой код?
0
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
21.08.2014, 21:05 #18
Ок, спрошу по другому. Что вы хотите получить в итоге. Не как вы хотите сделать, а именно что нужно в итоге. Потому что я уверен, что здесь нужен совсем другой подход.
0
yura91
1 / 25 / 2
Регистрация: 23.10.2013
Сообщений: 2,305
21.08.2014, 21:49 #19
я хочу чтобы каждые 24 часа при запуске во втором активити обновлялся контент кортинок которые находятся в ScrollView?? а их много этих картинок картинки из базы данных приходят в первое активити Вот две проблемы Во первых переполняется буфер на телефоне так как если добавляешь больше 12 картинок в ScrollView падает приложение поэтоиу мне нужно при скроллинге обновлять изображения в скроле А я не знаю как зафиксировать правильно событие скроллинга Вы не подскажите как можно обработать скроллинг?? и второе мне нужно передавать какой то флаг из первого активити во второе каждые 24 часа вот передача данных??

Добавлено через 3 минуты
и еще проблема публикации в твиттер при установке приложения на консоли пишет следующее красным [2014-08-21 20:45:21 - AndroidTwitterSample] WARNING: Application does not specify an API level requirement!
[2014-08-21 20:45:21 - AndroidTwitterSample] Device API version is 19 (Android 4.4.2)

вследствие чего падает приложение Не подскажите как это исправить может версию андроид выбрать другую несовместимость версии?

Добавлено через 2 минуты
картинки я сразу передаю во второе активити и они там хранятся в массиве сразу а раз в 24 часа надо обновлять эти картинки

Добавлено через 23 минуты
из первого во второе сразу передаю при создании второго
0
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
21.08.2014, 22:05 #20
Ну тут нужен во-первых отдельный класс для обработки картинок(загрузка из интернета, обработка, сохранение). И пусть они там и хранятся. А при запуске второго активити брать оттуда картинки и показывать. Не представляю зачем что-то передавать. И вообще в активити ничего не нужно хранить кроме элементов интерфейса. И картинки лучше хранить не в памяти(оперативной) а на диске(карте памяти или внутренней памяти).

Добавлено через 6 минут
Вот про подгрузку. Как обойтись без БД незнаю. Изучайте SQLite, так будет правильнее. И работать будет без ошибок и подвисаний.

Добавлено через 1 минуту
Цитата Сообщение от yura91 Посмотреть сообщение
Не подскажите как это исправить может версию андроид выбрать другую несовместимость версии?
Ну видимо да, нужно поменять targetVersion(как то так) на 19 или выше.
0
yura91
1 / 25 / 2
Регистрация: 23.10.2013
Сообщений: 2,305
21.08.2014, 22:10 #21
а про обработку события скроллинга можете дать ссылку?а по поводу публикации в твиттер та проблема что я описывал с чем это связано??надо другую версию андроида на эмуляторе поставить?? почему вылетает приложение можете обьяснить??

Добавлено через 1 минуту
а то есть вы имеете ввиду запихнуть картинки в ListView а не в ImageView??
0
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
21.08.2014, 22:36 #22
Я имею ввиду запихнуть картинки на карту памяти и хранить ссылку на них в БД. А как при скролле брать нужное кол-во данных из БД - скинул ссылку.
Цитата Сообщение от yura91 Посмотреть сообщение
а по поводу публикации в твиттер
Написал в прошлом сообщении.
0
yura91
1 / 25 / 2
Регистрация: 23.10.2013
Сообщений: 2,305
22.08.2014, 00:00 #23
а у ScrollView есть какой нибудь метод обработки события скроллинга я просто искал искал не нашел толком про это ?? можете дать ссылку где можно подробно почитать про событие скроллинга??

Добавлено через 1 час 16 минут
ViewHolder что это за класс? а метод getView зачем применяется??
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
22.08.2014, 08:02 #24
Цитата Сообщение от yura91 Посмотреть сообщение
а метод getView зачем применяется??
Ну как уже понятно из названия - возвращает вид.
0
yura91
1 / 25 / 2
Регистрация: 23.10.2013
Сообщений: 2,305
22.08.2014, 12:04 #25
то есть возвращает вид активити да?
0
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
22.08.2014, 12:09 #26
Возвращает View любого элемента у которого оно есть, не только активити.
0
yura91
1 / 25 / 2
Регистрация: 23.10.2013
Сообщений: 2,305
22.08.2014, 13:04 #27
а ViewHolder зачем применяется? то есть getView возвращает любой элемент и его можно сохранить в обьекте да?
0
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
22.08.2014, 13:27 #28
Цитата Сообщение от yura91 Посмотреть сообщение
ViewHolder
Даже название говорит что это, он хранит вьюшки, и соответсвенно не просто для себя их хранит, а может отдать вот и метод getView()
0
yura91
1 / 25 / 2
Регистрация: 23.10.2013
Сообщений: 2,305
22.08.2014, 16:45 #29
то есть ViewHolder может хранить любой обьект производный от View да??

Добавлено через 33 секунды
а метод onNewIntent когда в активити вызывается??

Добавлено через 2 часа 38 минут
когда вызывается метод onNewIntent в активити ?? когда отправляется интент второй раз когда вызывается активити?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.08.2014, 16:45
Привет! Вот еще темы с ответами:

Передача данных между активностями - Программирование Android
к примеру есть 2 активности первая public class first_act extends Activity { @Override protected void onCreate(Bundle...

Передача данных между ListView - Программирование Android
Доброго времени суток форумчане! Не получается решить одну проблему, надеюсь на вашу помощь. В классе фрагмента есть метод onCreateView,...

Передача данных между activity - Программирование Android
Здравствуйте! Для передачи данных между Activity требуется Пользователь вводит данные в строку(текст)-где этот param...

Передача данных между Activity - Программирование Android
Доброго времени суток, господа. Такой вопрос: с точки зрения ООП програмирования и программирования в целом, каким образом практичнее...


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

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

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