服务完成后如何禁用按钮?

在我的 UpdateFragment 中,我有一个按钮。当我单击此按钮时,它会被禁用并从服务调用方法。


如何将按钮从我的服务方法改回启用?


/* THIS IS updateFRAGMENT */

btnUpdateApp.setOnClickListener(new View.OnClickListener() {

        @Override

        public void onClick(View view) {

            FileUtil.logInformation(this.getClass().getName(), getResources().getText(R.string.manual_update_start).toString());


             //disable button

             btnUpdateApp.setEnabled(false);


             ServiceUtils s = new ServiceUtils();

             s.getUpdateInfos();


        }

    });



/* THIS IS MY SERVICE METHOD */

public void getUpdateInfos(){

    try {


        // ... some steps here ...


        //I want to return my button enabled here

    }

    catch (Exception ex){

        ex.printStackTrace();

    }

}


慕森王
浏览 132回答 2
2回答

幕布斯6054654

调用时getUpdateInfos传递对按钮的引用,如下所示:s.getUpdateInfos(btnUpdateApp);使getUpdateInfos方法接受新参数:public void getUpdateInfos(YourButtonType btnUpdateApp) {完成操作后,使用参考将按钮更改回启用状态:btnUpdateApp.setEnabled(true);

一只名叫tom的猫

您需要创建一个侦听器并将其传递给服务。像这样的事情将使这项工作:public interface ServiceListener(){    void onServiceFinished();}使您的片段实现侦听器并在 onServiceFinished 方法中重新启用您的按钮。在您的服务中,只需在需要时调用侦听器的方法。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java