15画面のアプリケーションを1つ開発しました。ここで、15の画面すべてにカスタムトーストメッセージを表示したいと思います。そうするために、私は1つのレイアウトを膨らませました。ただし、1つの画面でのみ機能します。Toast
そこで、すべての画面にカスタムを表示する単一のメソッドを作成しました。トーストメッセージを表示したいときはいつでも、そのメソッドを呼び出すだけです。しかし、私は得java.lang.NullPointerException
ました。これを解決する方法は?以下は私のコードです、
public static void showToastMessage(String message){
LayoutInflater inflater = ((Activity) context).getLayoutInflater();
View layout = inflater.inflate(R.layout.custom_toast,
(ViewGroup) ((Activity) context).findViewById(R.id.customToast));
// set a message
TextView text = (TextView) layout.findViewById(R.id.text);
text.setText(message);
// Toast...
Toast toast = new Toast(context);
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();
}
ログは
java.lang.NullPointerException
at com.guayama.utilities.CommonMethods.showToastMessage(CommonMethods.java:474)
at android.view.View.performClick(View.java:3511)
at android.view.View$PerformClick.run(View.java:14105)
at android.os.Handler.handleCallback(Handler.java:605)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4424)
at java.lang.reflect.Method.invokeNative(Native Method)