3 回答

TA貢獻1842條經驗 獲得超21個贊
當您的 fetchData 方法完成執行時,您可以保留一個布爾變量onBackPressed()
并將其值更新為 true,并且在您的方法中,您可以檢查該布爾變量的值并相應地執行您的代碼

TA貢獻1155條經驗 獲得超0個贊
您可以使用以下代碼段。
boolean flag=false;
...
private void fetchData() {
showLoader();
flag=true;
}
...
@Override
public void onBackPressed() {
if(flag){
//Toast Please wait for process
}else{
super.onBackPressed();
}
}
一旦你的過程完成了 make flag=false; 所以它會有正常的行為。

TA貢獻1843條經驗 獲得超7個贊
您必須編寫如下代碼:
private boolean isDataCalled = true; // global variable
然后
private void fetchData() {
isDataCalled = false;
showLoader();
}
當您的數據完全加載時,使此變量為真。
isDataCalled = true;
在你的 onBackPress 方法中:
@Override
public void onBackPressed() {
if (isDataCalled) {
super.onBackPressed(); // back press when no data fething.
} else {
//Toast Please wait for process
}
}
添加回答
舉報