如何仅在进行 http 调用后启用导航点击?
How to enable navigation click only after a http call has been made?
我的 Android 应用程序有问题。
我有一个底部导航菜单,用于在 MainActivity 的片段中导航。
问题是,在其中的 3 个片段上,我正在进行一个 http 调用来检索这些片段的数据。
如果我过早地单击导航项,并且在解析 http 之前加载了另一个片段,我的应用程序就会崩溃,因为它会尝试将数据加载到不再存在的视图项中。
我的问题是,在 http 请求加载数据之前如何禁用底部导航?
您的 activity 可以从禁用的菜单项开始,以便用户知道该应用不准备导航到那里。
bottomBar.menu.findItem(R.id.frag1).isEnabled = false
..... // same for every item
并且在您的 http 调用中应该有一些方法,例如 onResponse()
(Retrofit) 或类似的方法,您可以在其中启用它们。
public void onResponse(Call<Result> call, Response<Result> response) {
if(response.isSuccessful()){
bottomBar.menu.findItem(R.id.frag1).isEnabled = true;
...
}
}
我的 Android 应用程序有问题。
我有一个底部导航菜单,用于在 MainActivity 的片段中导航。 问题是,在其中的 3 个片段上,我正在进行一个 http 调用来检索这些片段的数据。 如果我过早地单击导航项,并且在解析 http 之前加载了另一个片段,我的应用程序就会崩溃,因为它会尝试将数据加载到不再存在的视图项中。
我的问题是,在 http 请求加载数据之前如何禁用底部导航?
您的 activity 可以从禁用的菜单项开始,以便用户知道该应用不准备导航到那里。
bottomBar.menu.findItem(R.id.frag1).isEnabled = false
..... // same for every item
并且在您的 http 调用中应该有一些方法,例如 onResponse()
(Retrofit) 或类似的方法,您可以在其中启用它们。
public void onResponse(Call<Result> call, Response<Result> response) {
if(response.isSuccessful()){
bottomBar.menu.findItem(R.id.frag1).isEnabled = true;
...
}
}