在我的 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(); }}
2 回答
幕布斯6054654
TA贡献1876条经验 获得超7个赞
调用时getUpdateInfos
传递对按钮的引用,如下所示:
s.getUpdateInfos(btnUpdateApp);
使getUpdateInfos
方法接受新参数:
public void getUpdateInfos(YourButtonType btnUpdateApp) {
完成操作后,使用参考将按钮更改回启用状态:
btnUpdateApp.setEnabled(true);
一只名叫tom的猫
TA贡献1906条经验 获得超3个赞
您需要创建一个侦听器并将其传递给服务。像这样的事情将使这项工作:
public interface ServiceListener(){
void onServiceFinished();
}
使您的片段实现侦听器并在 onServiceFinished 方法中重新启用您的按钮。在您的服务中,只需在需要时调用侦听器的方法。
添加回答
举报
0/150
提交
取消