我想覆盖onBackPressed()
,但是在onClick事件之后。
@Override
public void onBackPressed() {
//Toast Please wait for process
}
这是我的onClick方法:仅在执行此方法时,我才想覆盖onBackPressed()
。
private void fetchData() {
showLoader();
}
答案 0 :(得分:1)
当您的fetchData方法执行完毕时,您可以保留一个布尔变量并将其值更新为true,而在您的entityManager.clear();
方法中,您可以检查该布尔变量的值并执行代码相应地
答案 1 :(得分:1)
您可以使用以下代码段。
boolean flag=false;
...
private void fetchData() {
showLoader();
flag=true;
}
...
@Override
public void onBackPressed() {
if(flag){
//Toast Please wait for process
}else{
super.onBackPressed();
}
}
一旦处理完成,请使flag = false;因此它将具有正常的行为。
答案 2 :(得分:0)
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方法用作两种不同的方法
答案 3 :(得分:0)
您必须编写如下代码:
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
}
}