当我只有 Context 作为参数时,来自 class 的带有静态方法的 Snackbar。
Snackbar from class with static methods when I only have Context as parameter.
每当我检查网络连接但在使用静态方法的 NetworkClient class 中找不到时,我都会尝试创建一个小吃店。这些方法中的每一个都只从调用 activity 传递一个 Context 参数。理想情况下,我想在 class 中创建一个私有方法,如下所示:
private void showNetworkErrorSnackbar(Context mContext) {
Snackbar.make( whatgoeshere?, mContext.getString(R.string.network_error_message), Snackbar.LENGTH_LONG).show();
}
可以从任何 NetworkClient 方法调用。但是,我无法弄清楚如何获取要放入第一个参数的视图。更改方法的参数以包含视图太复杂了,因为这些方法已经在每个 activity.
中被调用
当然,在输入之后我能够准确地推理出要搜索的内容。仅从上下文获取视图的答案在这里:,它能够解决我的问题。希望这可以帮助遇到类似问题的其他人。
您可以创建一个虚拟布局,然后将其用作显示 Snackbar 的参数,如下所示
RelativeLayout relativeLayout;
Snackbar snackbar = Snackbar
.make(relativeLayout, "Your message here!", Snackbar.LENGTH_LONG);
snackbar.show();
每当我检查网络连接但在使用静态方法的 NetworkClient class 中找不到时,我都会尝试创建一个小吃店。这些方法中的每一个都只从调用 activity 传递一个 Context 参数。理想情况下,我想在 class 中创建一个私有方法,如下所示:
private void showNetworkErrorSnackbar(Context mContext) {
Snackbar.make( whatgoeshere?, mContext.getString(R.string.network_error_message), Snackbar.LENGTH_LONG).show();
}
可以从任何 NetworkClient 方法调用。但是,我无法弄清楚如何获取要放入第一个参数的视图。更改方法的参数以包含视图太复杂了,因为这些方法已经在每个 activity.
中被调用当然,在输入之后我能够准确地推理出要搜索的内容。仅从上下文获取视图的答案在这里:,它能够解决我的问题。希望这可以帮助遇到类似问题的其他人。
您可以创建一个虚拟布局,然后将其用作显示 Snackbar 的参数,如下所示
RelativeLayout relativeLayout;
Snackbar snackbar = Snackbar
.make(relativeLayout, "Your message here!", Snackbar.LENGTH_LONG);
snackbar.show();