我有这样的代码
package collfw;
public class A {
int Eid;
Context c1;
public void setEid(int id) {
if (id < 0) {
Eid = 0;
} else {
Eid = id;
}
}
public int getEid() {
return Eid;
}
public contentvalues adddata()
{
contentvalues cv=new contentvalues()
cv.put(ID,getEid());
return cv;
}
public void retrivedata() {
cursor c = db.rawquery("select * from employee");
**Toast.maketext(c1, getEID, toast.Long_SHORT).show();**
}
}
这里toast给了我错误,logcat显示println不能为null,如果我使用“context”则代替c1,那么它不接受, 任何人都可以请你解释一下上下文是什么,我怎么能在这里使用它。
答案 0 :(得分:1)
你必须初始化你的c1。然后它才会起作用。
public A(Context context) {
c1 = context;
}
因为toast就像一条消息,它会在Activity上显示出来。因此,您必须使用context
的上下文
activity
我希望这会对你有所帮助。
答案 1 :(得分:0)
使用,
Toast.makeText(getApplicationContext(), getEID, Toast.Long_SHORT).show();
答案 2 :(得分:0)
Toast.maketext(c1, getEID, toast.Long_SHORT).show();
c1可能未设置。至少我没有看到它在你的课上。 添加如下内容:
public A(Context ctx){
c1 = ctx;
}
答案 3 :(得分:0)
如果您将直接从其他活动或分类
调用retrieveata方法,请使用以下内容 public void retrivedata(Context c1) {
cursor c = db.rawquery("select * from employee");
**Toast.maketext(c1, getEID, toast.Long_SHORT).show();**
}
否则为Context创建构造函数,并将Context作为参数。
Context c1;
Public A(Context ccc)
{
c1=ccc;
}
然后在A类
中的任何地方使用c1希望这会对你有所帮助。