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

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

18.01.2014, 12:23. Показов 3596. Ответов 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
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru