为了账号安全,请及时绑定邮箱和手机立即绑定

按下按钮后如何触发覆盖方法?

按下按钮后如何触发覆盖方法?

肥皂起泡泡 2022-06-23 17:19:55
我想覆盖onBackPressed()但在 onClick 事件之后。@Overridepublic void onBackPressed() {    //Toast Please wait for process}这是我的 onClick 方法:我只想onBackPressed()在此方法执行时覆盖。private void fetchData() {    showLoader();}
查看完整描述

3 回答

?
茅侃侃

TA贡献1842条经验 获得超21个赞

当您的 fetchData 方法完成执行时,您可以保留一个布尔变量onBackPressed()并将其值更新为 true,并且在您的方法中,您可以检查该布尔变量的值并相应地执行您的代码



查看完整回答
反对 回复 2022-06-23
?
白衣非少年

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; 所以它会有正常的行为。


查看完整回答
反对 回复 2022-06-23
?
蓝山帝景

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

    }

}


查看完整回答
反对 回复 2022-06-23
  • 3 回答
  • 0 关注
  • 134 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信