9

アクティビティ内でGPSデータを取得するために使用しているクラスがあります。コンストラクターで、アクティビティのコンテキストを渡します。

gpsFetcher = new GPSFetcher(this);

そしてgpsFetcherクラスで私は持っています:

this.context = c.getApplicationContext();

あるいは単に

this.context = c;

それから私はトーストを次のように呼びます:

Toast.makeText(context, "sometext", Toast.LENGTH_LONG);

しかし、それは決して現れません...私が見逃しているものはありますか?出来ますか?

ありがとう!

4

4 に答える 4

12

忘れていToast#showますか?

Toast toast = Toast.makeText(context, "sometext", Toast.LENGTH_LONG);
toast.show();
于 2011-04-04T20:22:33.033 に答える
2

あなたも電話する必要がありますshow()

Toast.makeText(context, "sometext", Toast.LENGTH_LONG).show();

于 2016-10-06T08:41:36.953 に答える
0

同じ質問に出会ったのですが、解決しました。非アクティビティクラスでは、「publicstaticString」をアナウンスするだけです。次に、MainActivityまたはその他のアクティビティで、Toastを直接使用できます。

私の場合、非アクティビティクラスのNoteDBを宣言します。だから私はクラスで宣言 public static String Sします。(クラスでS値を変更できます。次に、MainActivityでアナウンスします。

Toast(MainActivity.this, NoteDB.S ,TOAST.SHORT_LENTGH).show();

それはうまくいきます。

于 2015-04-16T15:38:33.323 に答える
0

非アクティビティJavaクラスでトーストを表示するには、Javaクラスのコンストラクタにコンテキストを追加します

[ここでPrizeMethodsは私のJavaクラスです]

public class PrizeMethods {
    Context context;
    public PrizeMethods(Context context) {
        this.context = context;
    }
   }

アクティビティでこのクラスをインスタンス化する場合(オブジェクトを作成し、メインアクティビティで使用する場合)、コンテキストをパラメーターとして追加します。

このような:

 PrizeMethods pm=new PrizeMethods(this);

その後、Javaクラス内で、次のようなトーストを作成できます。

 Toast.makeText(context, "toast inside class!!", Toast.LENGTH_SHORT).show();
于 2020-08-09T00:01:34.683 に答える