Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/19: Рейтинг темы: голосов - 19, средняя оценка - 4.95
1 / 1 / 0
Регистрация: 13.01.2014
Сообщений: 34

Изменение параметров активити из другого активити

18.01.2014, 12:23. Показов 3621. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как сделать так чтобы из первого активити поменять

final ImageView img=(ImageView)findViewById(R.id.image1) ;
img.setBackgroundResource(R.drawable.animationdemo); ------- вместо animationdemo поставить animationdemo2
img.post(new Runnable() {

в другом активити.



Сложность заключается в том что на 1 активити имеются 2 кнопки, 1-я меняет свойства 2 активити, а вторая уже переходит на 2 активити.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.01.2014, 12:23
Ответы с готовыми решениями:

Отображение активити поверх другого активити
Ребят подскажите пожалуйста как такое сделать. Есть активити с картой, по нажатию кнопки настройки, нужно открыть активити с настройками,...

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

Как вызвать метод в активити классе из обычного не активити класса?
Есть активити в котором вводятся логин и пароль. При нажатии кнопки "войти" в отдельном классе "сокетсервер"(+в отдельном потоке)...

6
Командир зеленых роботов
 Аватар для angryrobot
349 / 286 / 54
Регистрация: 08.10.2013
Сообщений: 576
18.01.2014, 12:38
Запуск активити осуществляется при помощи интента в который вы можете положить почти что угодно. Я предлагаю вам сделать так:
* Заранее создать интент который будет запускать вторую активти.
* При нажатии первой кнопки положить в него R.drawable.animationdemo2
* При нажатии второй кнопки запускать активити используя заранее созданный интент
* Во второй активити при старте проверять наличие R.drawable.animationdemo2 внутри интента, и если там оно есть то загружаем его в качестве фона.
1
1 / 1 / 0
Регистрация: 13.01.2014
Сообщений: 34
18.01.2014, 14:01  [ТС]
Вот интент запускающий вторую активити

@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.Button1:
Intent intent = new Intent(this, MainActivity2.class);
startActivity(intent);
// TODO Call second activity
break;
default:
break;
}


Вкладываем в интент R.drawable.animationdemo2

@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.Button2:
intent.putExtra(R.drawable.animationdemo 2);
}


во 2 активити проверяем и загружаем в качестве фона



final ImageView img=(ImageView)findViewById(R.id.image1) ;
if
int count = getIntent().getIntExtra(R.drawable.anima tiondemo2);
{
img.setBackgroundResource(R.drawable.ani mationdemo2);
}

else
img.setBackgroundResource(R.drawable.ani mationdemo);
img.post(new Runnable()
{
@Override
public void run()
{
AnimationDrawable animation=(AnimationDrawable)img.getBack ground();
animation.start();
}
});




Че-то не работает, или я чего-то напортачил?
0
 Аватар для YuraAAA
1605 / 1337 / 291
Регистрация: 25.10.2009
Сообщений: 3,487
Записей в блоге: 2
18.01.2014, 14:27
tree00, во-первых, оформляйте пожалуйста код с помощью тэгов, он слабо читаемый.
Во-вторых, бросилось в глаза:
Уберите строки
Java
1
2
default:
break;
Кладём данные:
Java
1
intent.putExtra("some_key", R.drawable.animationdemo2);
Получаем:
Java
1
2
3
4
Bundle extras = getIntent().getExtras();
if (extras != null) {
    int value = extras.getString("some_key");
}
1
1 / 1 / 0
Регистрация: 13.01.2014
Сообщений: 34
18.01.2014, 18:20  [ТС]
Целый день лазил по гуглу но хоть убейте ничего не понял, я сделал как вы сказали но всеравно выдает ошибку


вот полный код первой активити :



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
package com.example.projekt12;
 
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences.Editor;
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) {
    switch (v.getId()) {
    case R.id.BtnAct2:
        Intent intent = new Intent(this, MainActivity2.class);
        startActivity(intent);
      // TODO Call second activity
      break;
    
    }
    
   
       
        switch (v.getId()) {
        case R.id.BtnAct3:
       Intent.putExtra("some_key", R.drawable.animationdemo2);  // выдает ошибку (cannot make a static reference to the non-static method putextra(string, int) from the type intent)
            
        }
        
    }
     
}



вот полный код второй активити:

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
package com.example.projekt12;
 
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.getString("some_key");        // тут выдает такую ошибку (Type mismatch: cannot convert from String to int)
    }
    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();
  }
  }

Напротив мест ошибок стаят пояснения. Объясните пожалуйста может мне что-то задать надо или тип Statik задать непонятно в чем проблема?
0
 Аватар для YuraAAA
1605 / 1337 / 291
Регистрация: 25.10.2009
Сообщений: 3,487
Записей в блоге: 2
18.01.2014, 18:27
Цитата Сообщение от tree00 Посмотреть сообщение
Intent.putExtra("some_key", R.drawable.animationdemo2)
intent с малой буквы. Иначе это попытка вызвать статический метод Intent класса.

Java
1
Intent intent = new Intent(this, MainActivity2.class);
вынести перед switch()

и получится как-то так

Java
1
2
3
4
5
6
7
8
9
10
11
12
@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("some_key", R.drawable.animationdemo2);
                startActivity(intent);
        }
    }
extras.getString() вернёт строку. Пишите
Java
1
int value = extras.getInt("some_key");
1
1 / 1 / 0
Регистрация: 13.01.2014
Сообщений: 34
19.01.2014, 21:59  [ТС]
чет не срабатывает, как я понял в "some_key" подставляется R.drawable.animationdemo2 ?

Добавлено через 13 минут
и да еще

Java
1
2
3
4
5
6
7
8
9
10
11
12
@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("some_key", R.drawable.animationdemo2);
                startActivity(intent);
        }
    }
тут последний startActivity(intent); не нужен, ведь эта кнопка должна передавать данные на первую а уже первая запускать активити2 с нужными параметрами
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.01.2014, 21:59
Помогаю со студенческими работами здесь

Переход из фрагмента одной активити в другую активити
Как реализовать нажатие на кнопку чтобы из фрагмента одной активити попасть в другую активити?

Вызов новой активити не из класса активити
Есть 4 класса: 1) WelcomeActivity; 2) MainActivity; 3) PopUpActivity; 4) Client. Программа работает с сервером и получает...

Старт активити из другого потока
Добрый вечер! У меня есть Активити, с кнопкой, по клику на которую стартует тред, из которого нужно запустить новые активити для...

Работа с Handler из другого активити
Здравствуйте, пишу чат приложение и не могу понять как можно обрабатывать входящие сообщение из другого активити. У меня есть форма...

IDE показывает активити от другого проекта
Здравствуйте! Начинающий программист на андройде. Установил и начал учится по урокам каждый урок сохранял отделно но где то 8-м уроке...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru