按照Stack Overflow问题和答案的建议,我创建一个类(Constant),并尝试声明并将其用作全局变量,但是它无法投射,找不到任何关于这个问题的好答案,我试图在Manifest文件中定义“Constant”或“.Constant”,这些定义都不起作用。
请帮帮我。
Constant con = ((Constant)getApplicationContext()); // failed to cast here
con.setClientid(Integer.parseInt(clientid));
import android.app.Application;
public class Constant extends Application {
private int gClientid;
public int getClientid() { return gClientid; }
public void setClientid(int cid) { gClientid = cid; }
}
清单
<application android:name=".Constant" android:icon="@drawable/icon">
答案 0 :(得分:1)
Constant con = (Constant)getApplication(); // failed to cast here
con.setClientid(Integer.parseInt(clientid));
import android.app.Application;
public class Constant extends Application {
private int gClientid;
public int getClientid() { return gClientid; }
public void setClientid(int cid) { gClientid = cid; }
}
答案 1 :(得分:1)
正确的synthax应该是Constant con =(Constant)this.getApplication();在你的活动中。
答案 2 :(得分:0)
将getApplicationContext()替换为getApplication(),您应该能够转换类扩展应用程序。
答案 3 :(得分:0)
我知道我正在回答一个老帖子, 但只是为了那些仍然遇到类似问题的人。
我认为他的问题是
的一部分<application android:name=".Constant" android:icon="@drawable/icon">
通过包含类的整个特定路径而不是“.Constant”来解决我的问题。 恩。 “com.example.Constant”