Android:是否可以从另一个类启动StartActivity

时间:2012-01-19 13:46:33

标签: android android-activity android-intent

这是我的代码:

班级calendar_list

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

班级列表_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 个答案:

答案 0 :(得分:1)

错误来自于list_view实例不是已启动的活动。尝试将下一个方法声明为

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

并以

开始下一个活动
ct.startActivity(intent);

(鉴于calendar_list是一个活动而且calendar_list.this是一个已启动的活动(很可能是当前可见的活动),这可行。)

答案 1 :(得分:0)

因为您的清单文件中未声明活动'c'。

答案 2 :(得分:0)

看起来B也是一项活动。为什么你没有使用

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

在你的活动A?