如何将变量解析为参数

时间:2017-03-07 13:59:45

标签: java android

我有一种检查互联网连接的方法,具体取决于我想提供不同布局的状态

当有互联网连接时,我希望布局

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变量。

1 个答案:

答案 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();
}