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

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

Войти
Регистрация
Восстановить пароль
 
Игорёчег
0 / 0 / 0
Регистрация: 31.03.2011
Сообщений: 18
#1

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

23.03.2013, 16:03. Просмотров 640. Ответов 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);
    }
    
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2013, 16:03     Обращение к елементам Activity
Посмотрите здесь:

destroy activity Android
Canvas и Activity Android
Приостановка Activity Android
Fragments и Activity Android
Activity с авторизацией Android
Android Widget + activity
Activity и многопоточность Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
c4sp3r
0x5B4C322291BD52AE
92 / 92 / 5
Регистрация: 04.03.2013
Сообщений: 295
23.03.2013, 17:05     Обращение к елементам Activity #2
Игорёчег, ты что пишешь код методом тыка? Просто я уже несколько тем твоих видел.
Игорёчег
0 / 0 / 0
Регистрация: 31.03.2011
Сообщений: 18
23.03.2013, 20:06  [ТС]     Обращение к елементам Activity #3
Я понимаю что мой код для вас кажется диким (наверное он таким и есть). Но не могли бы вы объяснить как реализовать данный пример?
И можно ли вызывать функции из других классов не наследующих (activity) в главном MainActivity?
И если да, то как?
c4sp3r
0x5B4C322291BD52AE
92 / 92 / 5
Регистрация: 04.03.2013
Сообщений: 295
23.03.2013, 20:30     Обращение к елементам Activity #4
Зачем тебе выносить метод animate() в отдельный класс какой в этом смысл?
Перед использованием объектов их принято инициализировать иначе будет NPE (Null Pointer Exception)!
Совет почитай хоть основы по Java в частности про ООП.
Игорёчег
0 / 0 / 0
Регистрация: 31.03.2011
Сообщений: 18
23.03.2013, 20:35  [ТС]     Обращение к елементам Activity #5
Просто я пытаюсь реализовать класс с методами, которые будут потом вызываться в MainActivity.
lifestyle
Mobile Developer
231 / 227 / 4
Регистрация: 10.05.2009
Сообщений: 917
23.03.2013, 20:46     Обращение к елементам Activity #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);
    }
    
}
НО ТАК ЛУЧШЕ НЕ ДЕЛАТЬ!!!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.03.2013, 20:50     Обращение к елементам Activity
Еще ссылки по теме:

Activity Android
Android Создание Activity
Разметка activity Android
Android Activity окошки
Android Basic Activity

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

Или воспользуйтесь поиском по форуму:
Игорёчег
0 / 0 / 0
Регистрация: 31.03.2011
Сообщений: 18
23.03.2013, 20:50  [ТС]     Обращение к елементам Activity #7
Да спасибо, с этим я уяснил, буду браться за литературу...
Yandex
Объявления
23.03.2013, 20:50     Обращение к елементам Activity
Ответ Создать тему
Опции темы

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