Android 无法检查来自片段的连接
我有一个片段,它有一个Android 无法检查来自片段的连接,android,android-fragments,Android,Android Fragments,我有一个片段,它有一个回收器视图,可以滑动刷新。刷新时,我接触服务器并从更新回收器视图的数据库中提取列表。所有这些都很好。我的问题是,我有一种方法可以检查我的活动中是否有互联网: public boolean isConnected(){ ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
回收器视图
,可以滑动刷新。刷新时,我接触服务器并从更新回收器视图的数据库中提取列表。所有这些都很好。我的问题是,我有一种方法可以检查我的活动中是否有互联网:
public boolean isConnected(){
ConnectivityManager connectivityManager = (ConnectivityManager)
getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
return networkInfo != null && networkInfo.isConnected();
}
这在我的活动中非常有效,但是当我尝试在片段中调用它时,“getSystemService”
会创建一个错误。我尝试过使用片段到活动的侦听器,或者只是将此方法放在片段中,但都不起作用。是否可以检查片段内的internet状态,或者这是仅可通过活动执行的操作?如果要检查片段的连接,应获取上下文,在您的情况下,活动:
public boolean isConnected(){
ConnectivityManager connectivityManager = (ConnectivityManager)
getActivity().getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
return networkInfo != null && networkInfo.isConnected();
}
或者使用静态方法
public class Utils{
public static boolean isConnected(Context context){
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
return networkInfo != null && networkInfo.isConnected();
}
}
从片段中用
Utils.isConnected(getActivity());
如果要检查片段的连接性,应获取上下文,在您的情况下,活动:
public boolean isConnected(){
ConnectivityManager connectivityManager = (ConnectivityManager)
getActivity().getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
return networkInfo != null && networkInfo.isConnected();
}
或者使用静态方法
public class Utils{
public static boolean isConnected(Context context){
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
return networkInfo != null && networkInfo.isConnected();
}
}
从片段中用
Utils.isConnected(getActivity());
logcat?您如何调用该方法的代码?可以在任何有上下文的地方进行检查。请执行错误堆栈跟踪?logcat?您如何调用该方法的代码?可以在任何有上下文的地方进行检查。请跟踪错误堆栈?或者他可以将方法设置为静态并将其添加到某个Util类,或者他可以将方法设置为静态并将其添加到某个Util类