0

我有这样的代码

    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 不能为空,如果我使用“context”代替 c1,那么它不接受,谁能解释一下什么是 context 以及如何在这里使用它。

4

4 回答 4

1

你必须初始化你的 c1。然后只有它会起作用。

public A(Context context) {
        c1 = context;       
    }

因为 toast 就像一条消息,它会在 Activity 上显示。所以你必须context用你activity的上下文初始化你

我希望这能帮到您。

于 2013-04-26T05:48:40.707 回答
0

利用,

Toast.makeText(getApplicationContext(), getEID, Toast.Long_SHORT).show();
于 2013-04-26T05:43:16.227 回答
0
Toast.maketext(c1, getEID, toast.Long_SHORT).show();

c1 可能未设置。至少我没有看到它设置在你的课堂上。添加如下内容:

public A(Context ctx){
    c1 = ctx;
}
于 2013-04-26T05:43:38.073 回答
0

如果您将直接从其他活动或分类中调用检索数据方法,请使用如下所示

 public void retrivedata(Context c1) {

        cursor c = db.rawquery("select * from employee");

        **Toast.maketext(c1, getEID, toast.Long_SHORT).show();**

    }

Else 使用 Context 作为参数为类 A 创建构造函数。

Context c1;
Public A(Context ccc)
{
c1=ccc;
} 

然后在您的 A 类中的任何地方使用 c1

希望这会帮助你。

于 2013-04-26T05:49:10.877 回答