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();**

    }
}

ここでトーストは私にエラーを与えており、logcatはprintlnがnullにならないことを示しています.c1の代わりに「コンテキスト」を使用すると受け入れられません.

4

4 に答える 4

1

c1 を初期化する必要があります。それだけでうまくいきます。

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

トーストはメッセージのようなものなので、Activity に表示されます。contextしたがって、あなたactivityのコンテキストであなたを初期化する必要があります

これがお役に立てば幸いです。

于 2013-04-26T05:48:40.707 に答える
0

他のアクティビティまたはクラスから直接 retrievedata メソッドを呼び出す場合は、以下のように使用します

 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 に答える