启动mainactivity时设置可见性时出错

时间:2018-08-06 16:19:09

标签: android

我只是试图制作一个应用程序来检查我的互联网连接是否打开。如果没有互联网连接,则它将显示一个单独的LinearLayout,其中包含完整的match_parent,但无法正常显示。任何帮助将不胜感激。

<RelativeLayout
    android:layout_width="match_parent"
    android:orientation="horizontal"
    android:layout_height="match_parent">
        <TextView
            android:background="#c6c6c9"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/error"
            android:textAlignment="center"
            android:onClick="onClick"
            android:gravity="center"
            android:visibility="gone"
            android:text="connect to Internet"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"/>

</RelativeLayout>

 public boolean isOnline() {
    ConnectivityManager conMgr = (ConnectivityManager) getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo netInfo = conMgr.getActiveNetworkInfo();
    if (netInfo == null || !netInfo.isConnected() || !netInfo.isAvailable()) {

        Toast.makeText(this, "Take a Hotspot Dude...", Toast.LENGTH_SHORT).show();
        r1.setVisibility(View.VISIBLE);
        return false;
    }
    return true;
}

1 个答案:

答案 0 :(得分:0)

如果要在确定连接状态之后在布局之间进行切换,请考虑完全使用两个不同的布局,并将ContentView设置为适合当前条件的布局。

public boolean isOnline() {

ConnectivityManager conMgr = (ConnectivityManager) getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = conMgr.getActiveNetworkInfo();

if (netInfo == null || !netInfo.isConnected() || !netInfo.isAvailable()) {

    Toast.makeText(this, "Take a Hotspot Dude...", Toast.LENGTH_SHORT).show();
    r1.setVisibility(View.VISIBLE);

    setContentView(R.layout.network_doesnt_exist);

    return false;
} else {
    setContentView(R.layout.network_exists)
}

或者,如果您希望在布局本身中的项目之间切换(可能会有些混乱),请将可见性状态设置为“消失”

textView.setVisibility(View.GONE);

将其用于您想要使之完全从布局中消失的任何项目,这意味着它们不仅被隐藏,而且不包含在任何layout_weight或此类分布中。

我希望这有助于回答您的问题!