Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.63/60: Рейтинг темы: голосов - 60, средняя оценка - 4.63
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
1

Как запустить метод из другого класса?

24.06.2013, 21:22. Просмотров 10849. Ответов 21
Метки нет (Все метки)

есть класс:
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
public class Class1 extends DialogFragment implements OnClickListener {
 
    TextView textViewMessage;
 
    String name;
    String nameEvent;
 
    Class2 class2;
 
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
 
        class2 = new Class2();
 
        View v = inflater.inflate(R.layout.class, null);
        v.findViewById(R.id.button1).setOnClickListener(this);
        v.findViewById(R.id.button2).setOnClickListener(this);
 
        return v;
    }
 
    public void onClick(View v) {
 
        switch (v.getId()) {
        case R.id.button1:
            dismiss();
            break;
        case R.id.button2:
 
            class2.stActivity();
 
            break;
        }
 
    }
 
    public void onDismiss(DialogInterface dialog) {
        super.onDismiss(dialog);
    }
 
    public void onCancel(DialogInterface dialog) {
        super.onCancel(dialog);
    }
 
}
из него я так: class2.startLoginActivity(); вызываю метод из другого класса. Вот класс который содержит вызывающий метод:

Java
1
2
3
4
5
6
7
8
9
10
public class Class2 extends Activity {
 
    private static final int REQUEST_LOGIN = 1;
 
                public void stActivity() {
        Intent intent = new Intent();
        intent.setClass(this, myActivity.class);
        startActivityForResult(intent, REQUEST_LOGIN);
    }
}
Но выскакивает nullPointExeption. Я так понимаю проблемы с контекстом, помогите примером или поправьте выложенный код, уже не знаю как правильно здесь всё сделать.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.06.2013, 21:22
Ответы с готовыми решениями:

Как изменить Textview из другого класса (класса адаптера RecyclerView)
У меня есть список RecyclerView тоесть этот файл Basket и файл что реализует cardwiew...

Подскажите как запустить через Inten Activity другого приложения
Добрый день! весь смысл такой я могу просто запустить другое приложение, например как сейчас:...

Как выполнить setContentView из другого класса?
Есть класс "Core" который является "точкой входа" в приложение, и есть класс в котором я меняю...

Как запустить метод из Service?
При запуске сервиса в onCreate запускается метод, когда он отрабатывает запускается...

Как вызвать определенный метод переданного класса через метод другого класса?
Добрый день. Захотел я вызвать в методе класса метод некоего другого класса, о котором я пока не...

21
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
25.06.2013, 01:13  [ТС] 21
вот оказывается как надо... Спасибо огромное, работает!!!
0
Grafity
59 / 4 / 1
Регистрация: 31.07.2013
Сообщений: 42
31.07.2013, 17:06 22
У меня подобная проблема возникла.
Я написал свой адаптер для списка ListView. В адаптере у меня обработчик onTouch на каждый пункт списка. Мне нужно вызвать стандартный андроидовский интент (звонок). Как его вызывать?
Запустить мне его нужно в методе analizeSwype.

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
@Override
    public View getView(int position, View convertView, ViewGroup parent) {
        // TODO Auto-generated method stub
        
        View view = convertView;
        
        if (view == null) {
              view = lInflater.inflate(R.layout.item, parent, false);
            }
        
        final Contact p = getContact(position);
            
        ((TextView) view.findViewById(R.id.name_tv)).setText(p.name);
        ((TextView) view.findViewById(R.id.num_tv)).setText(p.tel);
        
        
        OnTouchListener listener = new OnTouchListener() {
            
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                number = p.tel;
                switch (event.getAction())
                {
                case MotionEvent.ACTION_DOWN:
                    fromPosition = event.getX();
                    break;
                case MotionEvent.ACTION_UP: 
                    
                    float toPosition = event.getX();
                    analizeSwipe(fromPosition, toPosition);
                    
                }
                return true;
            }
        };
        
        view.setOnTouchListener(listener);
        
        
        return view;
    }
    
    Contact getContact(int position) {
        return ((Contact) getItem(position));
      }
    
    public String getLastNumber(){
        return number;
    }
    
    
    public void analizeSwipe(float from, float to){
        
        
        float device_x = DispMetrics.widthPixels;
        
        float minSwype = (device_x / 100) * 30;
        
        if (from > to && (from-to) > minSwype){
            
            Log.i("log_tag","Номер = " + number);
            
        }
    }
Добавлено через 15 минут
Всмысле, я знаю как вызвать сам интент, но не понимаю, как его вызвать в моем случае.

На активности я его вызывал так:

Java
1
2
3
Intent callIntent = new Intent(Intent.ACTION_CALL); 
             callIntent.setData(Uri.parse("tel:" + Num)); 
             startActivity(callIntent);
Как вызвать в адаптере - не знаю.

Добавлено через 1 час 31 минуту
Все, решил проблему. Вызвал с помощью контекста ctx.
0
31.07.2013, 17:06
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.07.2013, 17:06

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

Как запустить метод из другого окна?
Подскажите пожалуйста, смотрю примеры разные но не пойму как правильно сделать. Имеем окно...

Как вызвать метод из другого класса?
using System; using System.Collections.Generic; using System.Linq; using System.Text; using...

Как вызвать из одного класса (для метода типа void) метод типа boolean другого класса?
ребят, только учусь и конечно, вопросов возникает много. ситуация вот в чем. есть массив. я должна...


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

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

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