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

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

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

Обращение к елементам Activity - Программирование Android

23.03.2013, 16:03. Просмотров 657. Ответов 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 (Программирование Android):

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

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

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

Из одного Activity получить значение другого Activity - Программирование Android
Запускаю активити: public class MainActivity extends Activity { ... ... Intent intent = new Intent(getBaseContext(),...

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

Из одной Activity запустить функцию другой Activity - Программирование Android
например есть Activity2 которое я показываю в Dialog окошке, там у меня находятся Date and Time Picker ы (Дата - начало, Дата - окончание)...

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

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

Как вызвать Activity не из Activity? - Программирование Android
Приложение перехватываем входящие СМС. Есть класс унаследованный от BroadcastReceiver, который обозначен в манифесте как приемник...

Вывод activity в activity - Программирование Android
Добрый день. У меня есть две activity мне необходимо вывести одну в другой, а именно что бы меню activity1 осталось прежнем, а в...

Activity - Программирование Android
Интересует вопрос, как это реализовывается. 1. А именно при свапе влево/вправо или при непосредственном выборе "Люди", "Записи",...


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

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

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