web-dev-qa-db-ja.com

アクティビティを拡張しないクラスからトーストメッセージを表示する方法

重複の可能性:
非アクティビティクラスからトーストを作成するにはどうすればよいですか?

Toastクラスを拡張していないクラスからActivityメッセージを作成して表示するにはどうすればよいですか?このクラスは、Activityによって拡張された別のクラスで使用しています。

12
user1513889

コンテキストリファレンスが必要です。次のようなヘルパーメソッドがあります

  public static void showToastMethod(Context context) {
        Toast.makeText(context, "mymessage ", Toast.LENGTH_SHORT).show();
  }
17
Blackbelt

NonActivityクラスに値を渡すことで、そのアクティビティのコンテキストをクラスに渡すことができます

例:

new NonActivityClass(Activityclass.this) ;

そして上記の答えのように

new MyClass(ActivityClass.this);

NonActivityClassで

public class NonActivityClass {

  public NonActivityClass (Context context) {

        Toast.makeText(context, "mymessage ", Toast.LENGTH_SHORT).show();
  }

}

これがあなたのために働くことを願っています...

5