如何仅在进行http调用后才启用导航单击



我的Android应用程序出现问题。

我有一个底部导航菜单,用于浏览MainActivity的片段。问题是,在其中3个片段上,我正在进行http调用,以检索这些片段的数据。如果我过早地单击导航项,并且在解析http之前加载了另一个片段,那么我的应用程序就会崩溃,因为它试图将数据加载到不再存在的视图项中。

我的问题是,如何在http请求加载数据之前禁用底部导航?

您的活动可以从禁用菜单项开始,这样用户就知道应用程序还没有准备好导航到那里。

bottomBar.menu.findItem(R.id.frag1).isEnabled = false
..... // same for every item

在您的http调用上,应该有一些方法,比如onResponse()(Reform(或类似的方法,您可以在其中启用它们。

public void onResponse(Call<Result> call, Response<Result> response) { 
if(response.isSuccessful()){
bottomBar.menu.findItem(R.id.frag1).isEnabled = true;
...
}
}

最新更新