我的Android应用程序有问题。
我有一个底部导航菜单,用于浏览MainActivity的片段。问题是,在这些片段中的3个片段上,我进行了一个http调用来检索这些片段的数据。如果我太快地单击一个导航项,并且在解析http之前加载了另一个片段,我的应用程序就会崩溃,因为它试图将数据加载到不再存在的视图项中。
我的问题是,在http请求加载数据之前,我如何禁用底部导航?
发布于 2021-07-20 19:12:26
您的活动可以在菜单项被禁用的情况下启动,这样用户就知道应用程序没有准备好导航到那里。
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;
...
}
}
https://stackoverflow.com/questions/68460046
复制相似问题