gpt4 book ai didi

android - 如何删除此更新图标? Android Swiper引用

转载 作者:行者123 更新时间:2023-11-29 19:30:28 25 4
gpt4 key购买 nike

代码

public class YellowFragment extends Fragment implements FlowerAdapter.FlowerClickListener{


@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

View view = inflater.inflate(R.layout.fragment_yellow, container, false);

swipeContainer_yellow = (SwipeRefreshLayout) view.findViewById(R.id.swipeContainer_yellow);

setRetainInstance(true);

mReferSharedPreference = new ReferSharedPreference(getContext());
mlat = mReferSharedPreference.getValue("Lat", "None");
mlon = mReferSharedPreference.getValue("Lon", "None");

mCoordinatesTextLinear = (TextView) view.findViewById(R.id.tv_coordinates_linear);

if(!mlat.equals("None")){
getLinearPosts();
}
else {
Toast.makeText(getContext(), "Choose your location", Toast.LENGTH_LONG).show();
}

swipeContainer_yellow.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
if(!mlat.equals("None")){
getLinearPosts();
}
else {
Toast.makeText(getContext(), "Choose your location", Toast.LENGTH_LONG).show();
}
}
});
configViews(view);
return view;
}

private void getLinearPosts() {
ReferSharedPreference preferenceCoordinates = new ReferSharedPreference(getContext());
String lat = preferenceCoordinates.getValue("Lat", "None");
String lon = preferenceCoordinates.getValue("Lon", "None");
mCoordinatesTextLinear.setText("Your Location :" + lat + " , " + lon);

mRestManager = new RestManager();
Call<List<Flower>> listCall = mRestManager.getmFlowerApiService(getActivity()).getAllFlowers(lat, lon);
listCall.enqueue(new Callback<List<Flower>>() {
@Override
public void onResponse(Call<List<Flower>> call, Response<List<Flower>> response) {

if (response.isSuccessful()) {
mFlowerAdapter.clear();

List<Flower> flowerList = response.body();
for(int i =0; i<flowerList.size(); i++) {
Flower flower = flowerList.get(i);
mFlowerAdapter.addFlower(flower);
}
swipeContainer_yellow.setRefreshing(false);
}
}
@Override
public void onFailure(Call<List<Flower>> call, Throwable t) {
}
});
}

在这段代码中,当我滑动时,如果 mlat 为 None,则会出现滑动更新图标并且它不会消失。

我想要的是,如果 mlat 有一些值,则执行 getLinearPosts();,但如果 mlat 有 None,则显示 Toast“选择您的位置”。

但引用图标不会消失

像这样

enter image description here

问题:当 mlat 为 None 时,如何让这个更新或刷新图标消失?

最佳答案

任务完成后,只需调用 swipeContainer_yellow.setRefreshing(false) 即可隐藏进度条

正如我所见,您已经使用过它,但问题是您假设您的响应始终是完美的。因此,与其将其保存在 if (response.isSuccessful()) 中,不如将其保存在 if 条件之外,并将其放入 onFailure()

listCall.enqueue(new Callback<List<Flower>>() {
@Override
public void onResponse(Call<List<Flower>> call, Response<List<Flower>> response) {
swipeContainer_yellow.setRefreshing(false);
if (response.isSuccessful()) {
mFlowerAdapter.clear();

List<Flower> flowerList = response.body();
for(int i =0; i<flowerList.size(); i++) {
Flower flower = flowerList.get(i);
mFlowerAdapter.addFlower(flower);
}

}
}
@Override
public void onFailure(Call<List<Flower>> call, Throwable t) {
swipeContainer_yellow.setRefreshing(false);
}
});

关于android - 如何删除此更新图标? Android Swiper引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40041690/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com