Android: есть ли возможность запустить активность из другого класса - PullRequest
0 голосов
/ 19 января 2012

Вот мой код:

Класс calendar_list

        new list_view().next(pk[position],maintype[position],this);     

Класс list_view

public void next(int pk,int type,Context ct){
    Intent intent = null;

    if(type==1)
        intent = new Intent(ct,text_eachview.class);    
    else if(type==2)
        intent = new Intent(ct,pic_eachview.class);
    else if(type==3)
        intent = new Intent(ct,video_eachview.class);
    else if(type==4)  
        intent = new Intent(ct,voice_eachview.class);

    intent.putExtra("ID",pk);
    startActivity(intent);
    }
}

Мой код не работает, я хочу знать почему? Возможно ли это?

Спасибо.

enter image description here

Ответы [ 3 ]

1 голос
/ 19 января 2012

Ошибка связана с тем, что ваш экземпляр list_view не является запущенным действием. Попробуйте объявить следующий метод как

public static void next(int pk,int type, Activity ct){

и начать следующее действие как

ct.startActivity(intent);

(это будет работать, учитывая, что calendar_list является действием, а calendar_list.this является запущенным действием (скорее всего, видимым в данный момент))

0 голосов
/ 19 января 2012

Похоже, что B - это тоже занятие. Почему вы не используете

Intent intent = new Intent(A.this,C.class);
startActivity(intent); 

в вашей деятельности A?

0 голосов
/ 19 января 2012

Поскольку действие 'c' не объявлено в файле манифеста.

...