我有一种检查互联网连接的方法,具体取决于我想提供不同布局的状态
当有互联网连接时,我希望布局
View rootView = inflater.inflate(R.layout.fragment_home, container, false);
当没有连接时我希望它是
View rootView = inflater.inflate(R.layout.fragment_null, container, false);
是否可以执行类似
的操作View rootView = inflater.inflate(getstring(layoutchooser), container, false);
其中layoutchooser是一个已定义的String变量。
答案 0 :(得分:3)
你可以做这样的事情
View rootView = inflater.inflate(layoutChooser(), container, false);
private int layoutChooser() {
if (isNetworkAvailable()) {
return R.layout.fragment_home;
} else {
return R.layout.fragment_NULL;
}
}
getActiveNetworkInfo()
ConnectivityManager
方法返回表示它可以找到的第一个连接网络接口的NetworkInfo
实例,如果没有连接,则返回null
。检查此方法是否返回null
应该足以判断是否有互联网连接。
private boolean isNetworkAvailable() {
ConnectivityManager connectivityManager
= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null && activeNetworkInfo.isConnected();
}