Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
Игорёчег
0 / 0 / 0
Регистрация: 31.03.2011
Сообщений: 18
#1

Обращение к елементам Activity

23.03.2013, 16:03. Просмотров 699. Ответов 6
Метки нет (Все метки)

Доброго времени суток!
Кого не затруднит, по пробуйте помочь.
Суть программы в том, что при нажатии на кнопку, картинка становится невидимой, но сам метод в котором реализовываем невидимость картинки находится в другом классе(его мы вызываем в MainActivity в методе OnClick).
Проблема состоит в том, что при нажатии на кнопку программа вылетает.
Вот собственно код:
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
import android.widget.ImageView;
 
public class MainActivity extends Activity {
 
    Class1 cl;
    public ImageView img;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        Button start = (Button)findViewById(R.id.start);
        
        img = (ImageView) findViewById(R.id.imageView1);
        
        start.setOnClickListener(new View.OnClickListener() {
 
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                cl.animate();
                
                
            }
        });
        
        
    }
 
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
import android.widget.ImageView;
 
public class Class1 {
    
    MainActivity ma;
    
    public void animate() {
        
        ma.img.setVisibility(ImageView.INVISIBLE);
    }
    
}

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2013, 16:03
Ответы с готовыми решениями:

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

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

Как из одного Activity перенести фотку в другое Activity?
Собственно необходимо отобразить фотографию в activity2, которую загрузили в...

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

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

6
c4sp3r
0x5B4C322291BD52AE
93 / 93 / 0
Регистрация: 04.03.2013
Сообщений: 295
23.03.2013, 17:05 #2
Игорёчег, ты что пишешь код методом тыка? Просто я уже несколько тем твоих видел.
0
Игорёчег
0 / 0 / 0
Регистрация: 31.03.2011
Сообщений: 18
23.03.2013, 20:06  [ТС] #3
Я понимаю что мой код для вас кажется диким (наверное он таким и есть). Но не могли бы вы объяснить как реализовать данный пример?
И можно ли вызывать функции из других классов не наследующих (activity) в главном MainActivity?
И если да, то как?
0
c4sp3r
0x5B4C322291BD52AE
93 / 93 / 0
Регистрация: 04.03.2013
Сообщений: 295
23.03.2013, 20:30 #4
Зачем тебе выносить метод animate() в отдельный класс какой в этом смысл?
Перед использованием объектов их принято инициализировать иначе будет NPE (Null Pointer Exception)!
Совет почитай хоть основы по Java в частности про ООП.
1
Игорёчег
0 / 0 / 0
Регистрация: 31.03.2011
Сообщений: 18
23.03.2013, 20:35  [ТС] #5
Просто я пытаюсь реализовать класс с методами, которые будут потом вызываться в MainActivity.
0
lifestyle
Mobile Developer
233 / 229 / 18
Регистрация: 10.05.2009
Сообщений: 917
23.03.2013, 20:46 #6

Не по теме:

Хм, уважаемый, следуя вашим нескольким сообщениям и вопросу можно сделать вывод один - У Вас нет никакой базы не то, чтобы в программировании для Андроида и на Java, но и вообще отсутствуют базовые знания-понятия о программировани. Учите мат. часть(с) , что называется...


По теме:
1 -
Цитата Сообщение от Игорёчег Посмотреть сообщение
можно ли вызывать функции из других классов не наследующих (activity) в главном MainActivity
- Можно
2 - Собственно вопрос топика самого - Вы вызываете метод класса Class1 который не инициализирован!!!
это решит вашу проблему Class1 cl = new Class1();
Пы.Сы.
Учите теорию и базис СРОЧНО...

Пы.Сы. хотя нет это не решит вашу проблему.
если вы действительно в качестве эксперемента КАК ДЕЛАТЬ НЕ НАДО хотите запустить данный код то вот изменения :
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
import android.widget.ImageView;
 
public class MainActivity extends Activity {
 
    Class1 cl;
    public ImageView img;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        cl = new Class1(this);
 
        Button start = (Button)findViewById(R.id.start);
     
        img = (ImageView) findViewById(R.id.imageView1);        
        start.setOnClickListener(new View.OnClickListener() {
 
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                cl.animate();    
            }
        });  
    }
}
 
 
import android.widget.ImageView;
 
public class Class1 {
    
    MainActivity ma;
    
   public Class1(MainActivity myReferencedActivity) {
        this.ma = myReferencedActivity;
   }
 
 
    public void animate() {
        
        ma.img.setVisibility(ImageView.INVISIBLE);
    }
    
}
НО ТАК ЛУЧШЕ НЕ ДЕЛАТЬ!!!
1
Игорёчег
0 / 0 / 0
Регистрация: 31.03.2011
Сообщений: 18
23.03.2013, 20:50  [ТС] #7
Да спасибо, с этим я уяснил, буду браться за литературу...
0
23.03.2013, 20:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.03.2013, 20:50

Из одного Activity получить значение другого Activity
Запускаю активити: public class MainActivity extends Activity { ... ......

Как в Navigation Drawer Activity засунуть Activity?
Здравствуйте! у меня такая проблема navigation drawer activity работает только...

Из одной Activity запустить функцию другой Activity
например есть Activity2 которое я показываю в Dialog окошке, там у меня...


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

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

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