Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 当我只将上下文作为参数时,来自具有静态方法的类的Snackbar。_Android_Android Context - Fatal编程技术网

Android 当我只将上下文作为参数时,来自具有静态方法的类的Snackbar。

Android 当我只将上下文作为参数时,来自具有静态方法的类的Snackbar。,android,android-context,Android,Android Context,每当我检查网络连接,但在使用静态方法的NetworkClient类中找不到网络连接时,我都会尝试创建一个snackbar。这些方法中的每一个都只从调用活动传递一个上下文参数。理想情况下,我希望在类中创建一个私有方法,如下所示: private void showNetworkErrorSnackbar(Context mContext) { Snackbar.make( whatgoeshere?, mContext.getString(R.string.network_error_me

每当我检查网络连接,但在使用静态方法的NetworkClient类中找不到网络连接时,我都会尝试创建一个snackbar。这些方法中的每一个都只从调用活动传递一个上下文参数。理想情况下,我希望在类中创建一个私有方法,如下所示:

private void showNetworkErrorSnackbar(Context mContext) {
    Snackbar.make( whatgoeshere?, mContext.getString(R.string.network_error_message),  Snackbar.LENGTH_LONG).show();
}

可以从任何NetworkClient方法调用的。然而,我很难弄清楚如何获得一个视图来输入第一个参数。更改方法的参数以包含视图太复杂了,因为这些方法已经在每个活动中被调用。

当然,在键入之后,我能够准确地推理要搜索的内容。仅从上下文获取视图的答案如下:它能够解决我的问题。希望这能帮助其他人解决类似问题。

您可以创建一个虚拟布局,然后将其用作显示Snackbar的参数,如下所示

RelativeLayout relativeLayout;
Snackbar snackbar = Snackbar
                .make(relativeLayout, "Your message here!", Snackbar.LENGTH_LONG);
        snackbar.show();