我想覆盖onBackPressed()
但是在onClick事件之后。
@Override
public void onBackPressed() {
//Toast Please wait for process
}
这是我的onClick方法:我想仅在此方法执行时覆盖onBackPressed()
。
private void fetchData() {
showLoader();
}
当fetchData方法完成执行时,您可以保留一个布尔变量并将其值更新为true,并且在onBackPressed()
方法中,您可以检查该布尔变量的值并相应地执行您的代码
您可以使用以下代码段。
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;所以它会有正常的行为。
This is the code snippet that you can use :
boolean isClicked=false;
void buttonClick(){
isclicked=true
//you rest of the code
}
@override
void onBackpressed(){
if(isclicked){
//your click logic
}else{
super.onBackPressed();
}
}
因此,您可以通过使用该标志简单地将on方法用作两种不同的方法
你必须编码如下:
private boolean isDataCalled = true; // global variable
然后
private void fetchData() {
isDataCalled = false;
showLoader();
}
完全加载数据后,此变量为true。
isDataCalled = true;
在你onBackPress方法:
@Override
public void onBackPressed() {
if (isDataCalled) {
super.onBackPressed(); // back press when no data fething.
} else {
//Toast Please wait for process
}
}