Приложение вылетает при setOnClickListener
Помогите пожалуйста, код ошибки не научился ещё читать, но кажется, что я не могу закончить переход activity в другую activity.
В onDestroy поставил null так, как вылетала на других версиях api ошибка ormemory, код полностью рабочий на более ранних версиях api, на более поздних не срабатывает setonclicklistener и вылетает. Пожалуйста, подскажите в чём мог допустить ошибку и если можно направьте.
MainActivity.kt
import android.content.Intent
import android.os.Bundle
import android.view.View
import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.Observer
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val networkConnection = NetworkConnection(applicationContext)
networkConnection.observe(this, Observer { isConnected ->
if (isConnected){
Connected_activitymenu.visibility = View.VISIBLE
Disconnected_activitymenu.visibility = View.GONE
}else{
Connected_activitymenu.visibility = View.GONE
Disconnected_activitymenu.visibility = View.VISIBLE
}
})
Button1.setOnClickListener{
val intent = Intent(this@MainActivity, menu1_menu::class.java)
intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP
startActivity(intent)
}
Button2.setOnClickListener{
val intent = Intent(this@MainActivity,, menu2_menu::class.java)
intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP
startActivity(intent)
}
}
override fun onBackPressed() {
moveTaskToBack(true)
finish()
}
override fun onDestroy() {
Button1.setOnClickListener(null)
Button2.setOnClickListener(null)
super.onDestroy()
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:animateLayoutChanges="true"
tools:context=".MainActivity"
android:background="@drawable/fon">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/Connected_activitymenu"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
android:visibility="gone">
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/logo"
android:gravity="center" />
<ImageButton
android:id="@+id/Button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/menu1" />
<ImageButton
android:id="@+id/Button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/menu2" />
</LinearLayout>
</ScrollView>
<LinearLayout
android:id="@+id/Disconnected_activitymenu"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
android:visibility="gone">
<ImageView
android:id="@+id/MenuImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/noconnection"
android:gravity="center" />
</LinearLayout>
</RelativeLayout>
Код ошибки:
2020-07-23 16:20:19.767 4145-4145/Название проекта E/AndroidRuntime: FATAL EXCEPTION: main
Process: Название проекта, PID: 4145
java.lang.RuntimeException: Unable to stop activity {Название проекта.MainActivity}: java.lang.IllegalArgumentException: NetworkCallback was not registered
at android.app.ActivityThread.callActivityOnStop(ActivityThread.java:4858)
at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:4829)
at android.app.ActivityThread.handleStopActivity(ActivityThread.java:4903)
at android.app.servertransaction.StopActivityItem.execute(StopActivityItem.java:40)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.lang.IllegalArgumentException: NetworkCallback was not registered
at com.android.internal.util.Preconditions.checkArgument(Preconditions.java:52)
at android.net.ConnectivityManager.unregisterNetworkCallback(ConnectivityManager.java:4185)
at desspace.net.festcard.NetworkConnection.onInactive(NetworkConnection.kt:42)
at androidx.lifecycle.LiveData$ObserverWrapper.activeStateChanged(LiveData.java:421)
at androidx.lifecycle.LiveData$LifecycleBoundObserver.onStateChanged(LiveData.java:376)
at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.java:361)
at androidx.lifecycle.LifecycleRegistry.backwardPass(LifecycleRegistry.java:316)
at androidx.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.java:334)
at androidx.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.java:145)
at androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent(LifecycleRegistry.java:131)
at androidx.lifecycle.ReportFragment.dispatch(ReportFragment.java:123)
at androidx.lifecycle.ReportFragment.onStop(ReportFragment.java:102)
at android.app.Fragment.performStop(Fragment.java:2719)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1365)
at android.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1581)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1642)
at android.app.FragmentManagerImpl.dispatchMoveToState(FragmentManager.java:3052)
at android.app.FragmentManagerImpl.dispatchStop(FragmentManager.java:3022)
at android.app.FragmentController.dispatchStop(FragmentController.java:228)
at android.app.Activity.performStop(Activity.java:8207)
at android.app.ActivityThread.callActivityOnStop(ActivityThread.java:4850)
at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:4829)
at android.app.ActivityThread.handleStopActivity(ActivityThread.java:4903)
at android.app.servertransaction.StopActivityItem.execute(StopActivityItem.java:40)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)