基于互联网连接的android变更视图
我知道如何检查internet连接,在许多活动和片段中,您会将布局更改为静态视图,表示没有internet连接。基于互联网连接的android变更视图,android,Android,我知道如何检查internet连接,在许多活动和片段中,您会将布局更改为静态视图,表示没有internet连接。 我想让我的代码更具动态性。 问题是:如何基于internet连接更改您的contentView 我可以考虑检查互联网是否在每个活动中可用,如果不可用,只需更改视图并覆盖onClickListener,但我不想重复我自己 编写类似这样的代码 import android.os.Bundle; import android.os.Handler; import android.suppo
我想让我的代码更具动态性。
问题是:如何基于internet连接更改您的
contentView
我可以考虑检查互联网是否在每个
活动中可用,如果不可用,只需更改视图并覆盖onClickListener
,但我不想重复我自己 编写类似这样的代码
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.app.FragmentActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
/**
* @author Krish
*/
public abstract class BaseActivity extends FragmentActivity {
protected abstract int getLayoutId();
private LinearLayout connectivtyStateView;
private ViewGroup content;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FrameLayout conainer = new FrameLayout(this);
conainer.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT));
this.connectivtyStateView = new LinearLayout(this);
this.connectivtyStateView.setBackgroundResource(R.color.abc);
this.connectivtyStateView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT));
conainer.addView(connectivtyStateView);
this.content = (ViewGroup) LayoutInflater.from(this).inflate(getLayoutId(), conainer, true);
setContentView(conainer);
}
@Override
protected void onResume() {
super.onResume();
//registerReceiver()
}
@Override
protected void onPause() {
super.onPause();
// unregisterReceiver();
}
/** Callback for connection change */
private void handleConnectivityChange(boolean isConnected) {
if (isConnected) {
connectivtyStateView.setVisibility(View.GONE);
content.setVisibility(View.VISIBLE);
} else {
connectivtyStateView.setVisibility(View.VISIBLE);
content.setVisibility(View.GONE);
}
}
}
并为您的活动扩展该类,并实现用于返回内容布局的布局资源id的抽象方法 @nobalG不完全是我的答案。您可以使用BaseActivity来处理连接状态的更改。并从这个基类扩展每个活动。