从Seprate Java Class启动活动

时间:2017-07-21 17:17:55

标签: android android-layout android-activity

我试图从seprate java类启动Activity但它失败了。  我不知道这段代码中的错误是什么。 我也抓住了例外Here is the Exception I catch。我也无法理解这个例外。

public class ConnectorForLocateIndividual{
String id;
Context c;
public ConnectorForLocateIndividual(){}
public ConnectorForLocateIndividual(String id) {
    this.id = id;
}
public ConnectorForLocateIndividual(Context context){
    c = context;
}

public String getId() {
    return id;
}
public void startAc(){
    try {
        Intent i = new Intent(c, sign_in.class);
        c.startActivity(i);
    }catch (Exception e)
    {
        Toast.makeText(c , e.getMessage() , Toast.LENGTH_LONG).show();
    }

}

}

1 个答案:

答案 0 :(得分:0)

您有可能在ConnectorForLocateIndividual类中初始化Context c。这就是你在尝试使用它时得到空指针的原因。请务必使用:

public ConnectorForLocateIndividual(Context context){
c = context;
}

这个特殊的构造函数在创建ConnectorForLocateIndividual类的新对象时。