Я получаю следующую ошибку в своем фрагменте, о котором сообщалось в консоли моего приложения:
java.lang.IllegalStateException: Fragment TestFragment{431d000} not attached to a context.
Со следующей трассировкой стека:
android.support.v4.app.Fragment.requireContext Fragment.java:696
android.support.v4.app.Fragment.getResources Fragment.java:760
android.support.v4.app.Fragment.getString Fragment.java:782
com.corp.mycompany.data.ui.TestFragment$fetchData$1.onFailure TestFragment.kt:511
retrofit2.DefaultCallAdapterFactory$ExecutorCallbackCall$1$2.run DefaultCallAdapterFactory.java:92
android.os.Handler.handleCallback Handler.java:883
android.os.Handler.dispatchMessage Handler.java:100
android.os.Looper.loop Looper.java:224
android.app.ActivityThread.main ActivityThread.java:7520
java.lang.reflect.Method.invoke Method.java
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run RuntimeInit.java:539
com.android.internal.os.ZygoteInit.main ZygoteInit.java:950
Это относится к следующим строкам:
override fun onFailure(call: Call<FetchDataResponse>, t: Throwable) {
Log.e(tagLabel, "fetchAssetsOnFloor() - onFailure() Could not fetch data: ", t)
errorLabel.text = getString(R.string.no_data_available)
}
Значит ли это, что мне нужно заменить:
errorLabel.text = getString(R.string.no_data_available)
на
errorLabel.text = activity?.getString(R.string.no_data_available)
В чем разница между этими двумя строками?