【发布时间】:2016-09-10 06:53:17
【问题描述】:
我目前正在开发一个应用程序,我想在其中添加一项功能。当没有互联网时,活动的布局必须反之亦然。我在 android 方面不太好,我用这段代码来做我的小想法。任何想法如何实现这一点。当我尝试应用程序崩溃时。
public class RescuingActivity extends AppCompatActivity {
private BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if(ConnectivityStatus.isConnected(getContext())){
setContentView(R.layout.rescue_page);
}else {
setContentView(R.layout.no_connection);
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getContext().registerReceiver(receiver, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
}
Logcat 错误:
xxx/E/AndroidRuntime: 致命异常: main 进程:xxx,PID:6258 java.lang.RuntimeException:无法启动活动 ComponentInfo{xxx.xxx.xxxxxxx/xxx.xxx.xxxxxxx.view.RescuingActivity}:java.lang.NullPointerException 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2221) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2280) 在 android.app.ActivityThread.access$800(ActivityThread.java:141) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1202) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:136) 在 android.app.ActivityThread.main(ActivityThread.java:5059) 在 java.lang.reflect.Method.invokeNative(Native Method) 在 java.lang.reflect.Method.invoke(Method.java:515) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 在 dalvik.system.NativeStart.main(本机方法) 引起:java.lang.NullPointerException 在 com.kit.arescue.view.RescuingActivity.onCreate(RescuingActivity.java:90)
【问题讨论】:
-
通过可见性在同一个布局文件中使用它
-
@JinalPatel 任何带有代码的小例子。
-
这种方法没有错。你有什么问题?
-
在一个 xml 文件中获取您想要的两个布局并触发侦听器以隐藏和显示广播接收器中的布局
-
@JinalPatel 请添加代码以显示此内容。
标签: android android-layout android-broadcastreceiver setcontentview